我正在构建几个 Python 包,并且只有在所有包都已成功构建后才想上传它们。每个 Python 包我都有一个单独的阶段,它sdist
被带到最后一个阶段,所有收集sdist
的 s 都应该上传(如果构建到达最后阶段,那么所有包都构建成功)。
现在,有没有办法执行python setup.py sdist
,然后python setup.py upload [path]
才能实现我所需要的?或者有更好的方法吗?
PS:如果有帮助,我正在使用 Bamboo。
目前,上传只会推送由 distutils sdist/bdist 命令创建的文件,该命令从与上传相同的命令行运行,例如python setup.py sdist upload
. 如果您运行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。