2015-04-24 99 views
5

我试图通过从我的苹果机上传一个新的Python项目的PyPI:蟒蛇setup.py与SSL错误OSX失败

python setup.py sdist upload -r pypi

当我尝试上传一个包,我得到以下错误的OSX

Submitting dist/PyTreasuryDirect-0.1.0.tar.gz to https://pypi.python.org/pypi 
error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)> 

这个问题稍微涉及到这两个问题,ssl with pipwhen importing the ssl library。但是我需要setup.py来处理我的情况,我怎么能通过这个ssl错误?

我还使用OSX 10.10.2(14C109)

+0

从OpenSSL切换到SSL模块的SecureTransport的MacOSX 10.9+。这是工具处理自签名或未知签名证书的一种重大变化。 (例如,这会影响[curl] [1])例如,您有可能在中间有一个SSL代理,它不喜欢MitM代理的自签名证书吗? [1]:http://curl.haxx.se/mail/archive-2013-10/0036.html – cgseller

+0

@cgseller我认为它有多么'setup.py'是处理SSL和我的一个问题我不知道如何解决它。我可以通过其他soltuion来获得ssl来在我的mac上工作,但是它会调用'pip'或'openssl'包。 – pyCthon

+1

在OS X 10.10上使用python 2.7.6没有这样的问题。您可能会受[此问题]影响(http://bugs.python.org/issue23052):“默认情况下,Python 2.7.9启用了HTTP连接的证书验证,请参阅PEP476。” – baf

回答

1

的OS解x 10.10是使用它的默认Python版本2.7.6得到的Python 2.7.9和Python 3.5相同的错误。

此问题与默认情况下启用Python 2.7.2版的stdlib http客户端证书验证的事实有关(PEP 476)。此问题在Python bug tracker中描述。

+2

这根本不是一个解决方案。各种setup.py脚本根本不能在Python 2.7上运行,那么他们应该怎么做? – pedjjj