本文仅讨论上传相关的步骤,关于如何给写一个setup.py
请参阅官方文档:html
setup.py
的补充说明name
必须是惟一的,容许使用数字和字母,推荐使用中划线(-)而不是下划线(_),由于pip安装只支持中划线,好比pip install my-pkg
,为了避免给本身找麻烦请听话。version
推荐遵循语义化版本号规则,简单说就像这样:1.2.0若是上面的都没问题,在本地目录执行如下命令应该能成功在dist目录下生成*.tar.gz的包文件。python
python setup.py sdist
很是简单,直接经过官网注册 https://pypi.python.org/pypi?..., 可是须要验证邮件并确认激活。git
~/.pypirc
在本身的用户目录下新建一个空白文件命名为.pypirc
,内容以下:github
[distutils] index-servers=pypi [pypi] repository = https://upload.pypi.org/legacy/ username = <username> password = <password>
用户名和密码就是上一步骤所建立的,直接明文输入。若是你以为明文密码不安全也能够留空,在后面的上传过程当中会提示你手动输入。shell
你须要到PyPI注册并验证你的包,以后才能开始真正上传,注册的方式有如下几种。安全
python setup.py register
,最简单但官网不推荐,由于使用的是HTTP未加密,有可能会被攻击人嗅探到你的密码。pip install twine
而后在经过命令 twine register dist/mypkg.whl
完成注册。你能够任选如下两种方式之一发布你的轮子。网络
python setup.py sdist upload
,仍是和上面同样,简单但有安全隐患,目前已淘汰。twine upload dist/*
若是你的包已经上传成功,那么当你登陆PyPI网站后应该能在右侧导航栏看到管理入口。并发
点击包名进去后你能够对你的包进行管理,固然你也能够从这里删除这个包。测试
包发布完成后,其余人只须要使用pip就能够安装你的包文件。好比:网站
pip install package-name
若是你更新了包,别人能够能够经过--update
参数来更新:
pip install package-name --update
错误的用户验证信息,你须要建立一个用户验证文件 ~/.pypirc
。请参阅上文。
你须要先注册你的包才能够开始上传,运行注册命令:python setup.py register
你的PyPI帐户还没完成邮箱验证,你须要去注册邮箱找到一封验证邮件完成验证后再重试失败的步骤。
你的setup.py文件中的classifier信息有误,请按官网的正确分类书写classifier.
你还没打包就开始了上传命令,建议打包和上传的操做放在一块儿作,好比:
python setup sdist upload
这应该是网络问题,多重试几回。
文件已经存在了,你每一次上次都应该更新版本号。
关于做者:Python技术爱好者,目前从事测试开发相关工做,转载请注明原文出处。欢迎关注个人博客 https://betacat.online,你能够到个人公众号中去当吃瓜群众。