python – Plone:代理服务器背后的pypi特定下载问题 – 无法安装鸡蛋

这里有一个奇怪的问题.

我在一个使用经过身份验证的代理连接到外部世界的网络中.我不控制这个代理服务器.

这个事实在过去让我使用了wget,curl等(这是在Mac OSX 10.8上).所以,我设置了环境变量:

HTTP_PROXY=proxyserveraddress:3128
FTP_PROXY=proxyserveraddress:3128
RSYNC_PROXY=proxyserveraddress:3128

这个添加到bash rc(是它的配置文件吗?)文件时,使网络连接对shell透明.还有一个系统代理设置以相同的方式指向.

现在,我安装了Plone,并希望将plone.app.ldap egg安装到安装位置.

我在更新buildout.cfg(包括这个鸡蛋)之后运行了bin / buildout,我得到:

Installing instance.
Download error on http://pypi.python.org/simple/plone.app.ldap/: [Errno 61] Connection     refused -- Some packages may not be found!
Download error on http://pypi.python.org/simple/plone.app.ldap/: [Errno 61] Connection refused -- Some packages may not be found!
Couldn't find index page for 'plone.app.ldap' (maybe misspelled?)
Download error on http://pypi.python.org/simple/: [Errno 61] Connection refused -- Some  packages may not be found!
Getting distribution for 'plone.app.ldap'.
While:
  Installing instance.
  Getting distribution for 'plone.app.ldap'.
Error: Couldn't find a distribution for 'plone.app.ldap'.
*************** PICKED VERSIONS ****************
[versions]

*************** /PICKED VERSIONS ***************

接下来,我编辑了bin / buildout并添加了以下行:

import os

print os.environ["HTTP_PROXY"]

我又跑了bin / buildout.

果然,它吐了出来

proxyserveraddress:3128

这意味着python正在读取环境变量.

我更进一步(这有趣的地方)并取消设置代理设置(只是为了看它是否重要):

MacBook-Pro:zinstance macpro$export HTTP_PROXY=
MacBook-Pro:zinstance macpro$bin/buildout 
Installing instance.
Download error on http://dist.plone.org: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://download.zope.org/ppix/: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://download.zope.org/distribution/: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://effbot.org/downloads: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://dist.plone.org/release/4.3.2: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://pypi.python.org/simple/plone.app.ldap/: [Errno 61] Connection refused -- Some packages may not be found!
Download error on http://pypi.python.org/simple/plone.app.ldap/: [Errno 61] Connection refused -- Some packages may not be found!
Couldn't find index page for 'plone.app.ldap' (maybe misspelled?)
Download error on http://pypi.python.org/simple/: [Errno 61] Connection refused -- Some packages may not be found!
Getting distribution for 'plone.app.ldap'.
While:
  Installing instance.
  Getting distribution for 'plone.app.ldap'.
Error: Couldn't find a distribution for 'plone.app.ldap'.
*************** PICKED VERSIONS ****************
[versions]

*************** /PICKED VERSIONS ***************

所以,你取消设置代理和其他服务器(plone,zope,effbot)开始抱怨.这意味着我的代理设置对于那些下载工作正常,但在一些上帝 – 我希望知道 – 为什么这样的方式,它们对pypi.python.org来说还不够好.

pypi.python.org有什么特别之处?是否使用某些特殊端口进行连接(与buildout联系的其他服务器不同)可能会被网络代理服务器关闭?在有人要求之前,是的,我可以使用Chrome浏览器浏览到pypi.python.org网址.

我已经确定我有一个明智的代理设置.它的pypi搞乱了扩建.

最佳答案 pypi使用的安全套接字身份验证可能会导致您的问题,因为它可能使用您未在代理转发列表中包含的其他端口.您可以使用与其他poxy设置相同的方式解决此问题.

另一种方法是在运行构建之前从pypi手动下载并安装所需的软件包 – 如果已经满足依赖性,则不会使用访问.

您还可以考虑运行local pypi server并指向它 – 您仍然需要将软件包下载到该服务器,但如果您正在进行多次安装,那将是值得的.

点赞