我正在构建几个Python包,并且只有在所有包都已成功构建的情况下才想上传它们。我为每个Python包都有一个单独的阶段,其sdist
被带到最后阶段,其中所有收集的sdist
应该被上传(如果构建到达最后阶段,那么所有包都已成功构建)
现在,有没有办法执行python setup.py sdist
,然后执行python setup.py upload [path]
以实现我的需求?或者有更好的方法吗?
P.S。:如果有帮助,我正在使用Bamboo。
答案 0 :(得分: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。