我正在构建几个 Python 包,只有在所有包都已成功构建后我才想上传它们。我为每个 Python 包都有一个单独的阶段,其 sdist
被带到最后一个阶段,所有收集的 sdist
应该被上传(如果构建到达最后阶段,那么所有包都已成功构建)。
现在,有没有办法执行 python setup.py sdist
,然后 python setup.py upload [path]
来实现我需要的?或者有更好的方法吗?
P.S.:如果有帮助,我正在使用 Bamboo。
最佳答案
目前,上传只会推送由与上传相同的命令行运行的 distutils sdist/bdist 命令创建的文件,例如python setup.py sdist 上传
。如果你运行 sdist
,检查结果,然后执行 sdist upload
,第二个 sdist 应该完全相同,除非你的 setup.py 有问题,你改变了您的文件或您的计算机有问题。 (我同意有很多除非)。
可以使用一个技巧来避免第二个 sdist 重做它的所有工作:首先你运行 python setup.py sdist --keep-temp
,然后你检查 sdist,并上传你调用 python setup.py sdist --dry-run upload
。
在下一个功能版本中有一个改进此功能的公开增强请求:http://bugs.python.org/issue12944
与此同时,您可以使用 twine .
关于Python 生成 sdist 并在单独的步骤中上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23342080/