python`setup.py 上传` Linux 上的错误代码

python`setup.py upload` error code on Linux

我正在尝试从 jenkins 发布一个 python 包。发布到已发布的版本时,我看到:

Submitting dist/mylib-0.2.13.tar.gz to http://mypypiserver/api/pypi/pypi-release-local Upload failed (403): Forbidden

但是,调用它的 shell 脚本无法确定是否发生了错误,因为 setup.py 在这种情况下不会以错误代码退出。这是一个错误,还是我使用 setuptools 不正确?

我使用的是 setuptools 版本 23.0.0,但也可以使用版本 20.2.2 和 21.0.0 进行重现。奇怪的是,这不会发生在 OS X 上。

经过一些研究,我发现这是 distutils 中的一个错误。见 https://bugs.python.org/issue21722 teach distutils "upload" to exit with code != 0 when error occurs

已修补并向后移植到 python 2.7.7

我的 运行 python 2.7.6 在我的 Linux 机器上,而 2.7.10 在我的 Mac 上,这就是我的差异的原因注意到了。