4

我正在尝试诊断此错误:

Getting distribution for 'zc.buildout<2dev'.
Got zc.buildout 1.7.1.
Generated script '/opt/mytardis/releases/a549cd05272afe8f16c2fe5efe8158490acbde82/bin/buildout'.
Download error on http://pypi.python.org/simple/buildout-versions/: [Errno 104] Connection reset by peer -- Some packages may not be found!
Couldn't find index page for 'buildout-versions' (maybe misspelled?)
Download error on http://pypi.python.org/simple/: [Errno 104] Connection reset by peer -- Some packages may not be found!
Getting distribution for 'buildout-versions'.
STDERR: /usr/lib64/python2.6/distutils/dist.py:266: UserWarning: Unknown distribution option: 'src_root'
  warnings.warn(msg)
While:
  Installing.
  Loading extensions.
  Getting distribution for 'buildout-versions'.
Error: Couldn't find a distribution for 'buildout-versions'.

它发生在 Chef + buildout 安装堆栈的深处。我发现的一件事是,如果我尝试直接访问 buildout-versions 包:

$ wget https://pypi.python.org/packages/source/b/buildout-versions/buildout-versions-1.7.tar.gz#md5=731ecc0c9029f45826fa9f31d44e311d
--2013-07-09 12:50:18--  https://pypi.python.org/packages/source/b/buildout-versions/buildout-versions-1.7.tar.gz
Resolving proxy.redacted.com... 123.45.67.8
Connecting to proxy.redacted.com|123.45.67.8|:8080... connected.
ERROR: certificate common name “*.a.ssl.fastly.net” doesn’t match requested host name “pypi.python.org”.
To connect to pypi.python.org insecurely, use ‘--no-check-certificate’.

我可以从我的桌面正常访问该文件。所以我怀疑代理(由一所大学提供,这个服务器必须使用它来访问网络)。它设置为https_proxy=...

这是构建失败的可能原因吗?有什么办法吗?

4

4 回答 4

11

您的 wget 版本太旧。

wget 仅从 1.14 版开始支持 SNI(服务器名称指示),并且需要在 pypi.python.org 上提供正确的证书来提供 TLS 扩展。

于 2013-09-18T22:35:17.580 回答
4

是的,zc.buildout两者easy_install都用于检索不urllib2验证SSL证书的 HTTPS 资源:

警告:HTTPS 请求不会对服务器的证书进行任何验证。

您的wget工具确实验证了证书,但您的本地证书颁发机构证书似乎不完整;有关如何更新这些证书的说明,请参阅SSL 证书被拒绝尝试通过防火墙后的 HTTPS 访问 GitHub 。

至于您的原始错误,您的防火墙代理似乎正在对等重置。

根据PEP 476,Python 2.7.9 解决了这种情况。从该版本开始,urllib2将默认验证 SSL 证书。

于 2013-07-10T09:26:22.197 回答
1

自 Python 2.7.9(已发布)/3.4.3(即将发布)以来,默认情况下会验证证书:

现在默认启用使用系统证书存储的 HTTPS 证书验证。有关详细信息,请参阅 PEP 476。

https://www.python.org/downloads/release/python-279/

于 2015-02-04T15:49:19.970 回答
0

你可以试试:

wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea --no-check-certificate
于 2013-10-30T03:50:50.843 回答