【问题标题】:Plone: pypi specific download issue behind a proxy server - can't install eggsPlone:代理服务器后面的 pypi 特定下载问题 - 无法安装鸡蛋
【发布时间】:2013-10-29 14:09:59
【问题描述】:

这里有个奇怪的问题。

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

这个事实在过去曾让我对 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(包括这个 egg)后运行了 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 URL。

我已经确定我有一个合理的代理设置。它的 pypi 搞砸了构建。

【问题讨论】:

    标签: python proxy plone pypi


    【解决方案1】:

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

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

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

    【讨论】:

    • 你是对的。我刚刚添加了 HTTPS_PROXY=proxyserveraddress:3128 现在它工作正常!问题解决了。
    • 很高兴听到 - 打勾就好了!
    猜你喜欢
    • 1970-01-01
    • 2011-05-06
    • 2013-07-11
    • 2010-11-03
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    相关资源
    最近更新 更多