我正在构建几个Python包,只有在所有包都已成功构建的情况下,我才会上载它们。对于每个Python包,我都有一个单独的阶段,它的sdist
被带到最后一个阶段,所有收集到的sdist
都应该上传(如果构建到达最后阶段,那么所有包都成功构建)。
现在,有没有办法执行python setup.py sdist
,然后执行python setup.py upload [path]
,以实现我所需要的?还是有更好的办法?
附言:如果竹子有用的话,我正在用它。
最佳答案
目前,upload只会推送由distutils sdist/bdist命令创建的文件,该命令与upload从同一命令行运行,例如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。