3

我正在构建几个 Python 包,并且只有在所有包都已成功构建后才想上传它们。每个 Python 包我都有一个单独的阶段,它sdist被带到最后一个阶段,所有收集sdist的 s 都应该上传(如果构建到达最后阶段,那么所有包都构建成功)。

现在,有没有办法执行python setup.py sdist,然后python setup.py upload [path]才能实现我所需要的?或者有更好的方法吗?

PS:如果有帮助,我正在使用 Bamboo。

4

1 回答 1

3

目前,上传只会推送由 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

于 2014-04-30T06:19:34.403 回答