Python 生成 sdist 并在单独的步骤中上传

标签 python distutils sdist

我正在构建几个 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/

相关文章:

python - 在带有python2.6的windows7上使用python dragonfly的问题

java - 从 python 到 stdin java 的 stdout

python - 为什么人们会用鸡蛋而不是sdist?

python - 运行 sDist 来构建包并安装会创建空的构建目录

python - python中的常量?

python - 在 sklearn 中创建 TfidfTransformer 时, 'use_idf' 究竟做了什么?

python - pip 无法卸载 <package> : "It is a distutils installed project"

python - pypi信息显示在错误的地方

python - 如何使用简单的预卸载脚本扩展 distutils?