使用Twine上传infixpy至PyPI时遇Unknown distribution format错误的修正方案
解决Twine上传PyPI时的InvalidDistribution错误
你的问题核心是把Twine命令和setup.py的命令混在一起执行了——twine是独立的PyPI上传工具,并非setup.py的子命令,所以你之前的写法会让系统误以为twine是要处理的分发格式,进而抛出InvalidDistribution错误。
下面是修正后的完整发布流程:
第一步:确保Twine已安装
如果还没安装Twine,先执行安装命令:
pip install twine
第二步:清理旧构建文件(可选但推荐)
避免旧包文件干扰新发布,先清理残留的构建产物:
rm -rf dist/ build/ *.egg-info/
第三步:构建标准分发包
通过setup.py生成PyPI认可的两种分发格式(源码包和wheel包):
python setup.py sdist bdist_wheel
执行完成后,dist/目录下会生成类似infixpy-0.0.6.tar.gz(源码包)和infixpy-0.0.6-py3-none-any.whl(wheel包)的文件。
第四步:用Twine上传到PyPI
单独执行Twine的上传命令,指定目标仓库:
twine upload -r pypi dist/*
这个命令会自动读取你~/.pypirc里的配置,使用预设的用户名和密码完成上传。
额外说明
你之前的错误命令python setup.py build twine upload -r pypi dist/,错误地将twine作为setup.py的参数传递,而setup.py根本不认识这个"子命令",因此才会报错说找不到对应的分发格式。拆分构建和上传步骤后,就能顺利完成发布。
内容的提问来源于stack exchange,提问作者WestCoastProjects
相关产品推荐
相关产品推荐

