使用Twine上传infixpy至PyPI遇Unknown distribution format错误的解决问询
修正你的PyPI发布流程
先帮你揪出问题根源:你把setup.py的构建命令和twine的上传命令混在同一条指令里执行了,这导致twine没能正确获取到要上传的分发文件,才会抛出InvalidDistribution: Unknown distribution format: ''的错误。
正确的发布流程分两步走:
生成可上传的分发包文件
先确保你已经生成了合规的包文件(源码包和wheel包),执行这条命令:python setup.py sdist bdist_wheel执行后会在项目根目录下生成
dist文件夹,里面会有类似infixpy-0.0.6.tar.gz(源码包)和infixpy-0.0.6-py3-none-any.whl(wheel包)的文件,这就是我们要上传到PyPI的内容。用twine单独执行上传命令
单独调用twine的上传指令,指定目标仓库和dist目录下的文件:twine upload -r pypi dist/*如果你只想上传特定版本的包,也可以精准指定文件名:
twine upload -r pypi dist/infixpy-0.0.6*
额外的实用建议:
- 建议先在测试PyPI(pypitest)上验证整个流程是否正常,命令如下:
确认上传成功、包能正常安装后,再上传到正式PyPI,避免正式仓库出现错误。twine upload -r pypitest dist/* - 绝对不要用
python setup.py upload命令,它会明文传输你的PyPI账号信息,twine是加密传输,安全性更高。 - 上传前可以先检查下
dist目录里的文件是否完整,避免因为文件缺失导致上传失败。
内容的提问来源于stack exchange,提问作者WestCoastProjects
相关产品推荐
相关产品推荐

