赞
踩
在上传本人写的python包到pypi的过程中我踩了很多很多的坑,遇到了很多很多的问题,
各种400、403,于是便有了本编文章,以记录下来,防止更多的小白踩坑
packaging_mutils
是项目名(名称可修改)
mmutils
:包含源代码的程序包(名称可修改)
README.md
关于程序的介绍和说明(名称不建议修改)
setup.py
:用于打包的python程序
在这个下面一定会有一个__init__.py文件,因为这是一个python包
import codecs import os from setuptools import setup, find_packages # these things are needed for the README.md show on pypi (if you dont need delete it) here = os.path.abspath(os.path.dirname(__file__)) with codecs.open(os.path.join(here, "README.md"), encoding="utf-8") as fh: long_description = "\n" + fh.read() # you need to change all these VERSION = '版本号' DESCRIPTION = '简单描述' setup( name="要显示的唯一标识(用于pip install xxx)", version=VERSION, author="作者", author_email="作者的电子邮件", description=DESCRIPTION, # 长描述内容的类型设置为markdown long_description_content_type="text/markdown", # 长描述设置为README.md的内容 long_description=long_description, # 使用find_packages()自动发现项目中的所有包 packages=find_packages(), # 许可协议 license='MIT', # 要安装的依赖包 install_requires=[ "Faker>=18.7.0", "ddddocr>=1.4.7", "requests>=2.30.0", "loguru>=0.7.0", "lxml>=4.9.2", ], # keywords=['python', 'menu', 'dumb_menu','windows','mac','linux'], classifiers=[ "Development Status :: 1 - Planning", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Operating System :: Unix", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", ] )
find_packages()
: 函数会自动查找项目目录中包含 init.py 文件的子目录,并将这些子目录识别为包。它会递归地遍历子目录,以查找嵌套的包
如果不想使用所有的包,那么可以手动指定
例如:packages=[‘package1’, ‘package2’, ‘package3’]
如果在setup.py中使用了README.md,那么README.md中必须要有内容,否则可能会报错。
如果我记得没错的话,内容为空,会报类型错误
(1)更新pip包
py -m pip install --upgrade pip
(2)安装twine
pip install twine
python setup.py sdist bdist_wheel
需要保证终端的当前路径下有setup.py文件(也就是说,当前应该处于项目路径下)
twine upload dist/*
根据提示输入
用户名
和密码
[Tips] 在密码输入的时候,终端是不会实时显示的
[Tips] 如果你误打误撞开启了“双重身份验证”,那么你就不能通过用户名和密码进行上传,只能通过API令牌的方式上传,这就涉及到了一个文件.pypirc
每次都要输入用户名和密码的话既繁琐又不安全,具体可以参考这里
我的电脑是windos系统,所以我是在“C:\Users<用户名>”下创建的 .pypirc
[distutils]
index-servers =
pypi
PROJECT_NAME
[pypi]
username = __token__
password = 复制的API token
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。