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

时间:2013-10-21 07:28:59

标签: python proxy 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搞乱了扩建。

1 个答案:

答案 0 :(得分:7)

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

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

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