如何让pip在代理服务器后面工作

我正在尝试使用python包pipe理器pip来安装一个包,它是从互联网上的依赖。 然而,我在我的大学代理背后,已经设置了http_proxy环境variables。 但是当我尝试安装这样的包:

 pip install TwitterApi 

我在日志文件中得到这个错误:

 Getting page http://pypi.python.org/simple/TwitterApi Could not fetch URL http://pypi.python.org/simple/TwitterApi: <urlopen error [Errno 111] Connection refused> Will skip URL http://pypi.python.org/simple/TwitterApi when looking for download links for TwitterApi Getting page http://pypi.python.org/simple/ Could not fetch URL http://pypi.python.org/simple/: <urlopen error [Errno 111] Connection refused> 

我甚至尝试明确地设置我的代理variables,如下所示:

 pip install --proxy http://user:password@proxyserver:port TwitterApi 

但我仍然得到同样的错误。 如何让pip在代理服务器后面工作?

根据pip --help ,pip的代理参数的格式scheme://[user:passwd@]proxy.server:port

您应该使用以下内容:

 pip install --proxy http://user:password@proxyserver:port TwitterApi 

此外,应该尊重HTTP_PROXY env var。

请注意,在早期的版本(无法追踪代码中的变化,对不起,但在这里更新的文档),你必须离开scheme://部分出来工作,即pip install --proxy user:password@proxyserver:port

至less对于pip 1.3.1,它支持http_proxy和https_proxy环境variables。 确保你定义了两个,因为它将使用https访问PYPI索引。

 export https_proxy="http://<proxy.server>:<port>" pip install TwitterApi 

旧的线程,我知道,但为了将来的参考,–proxy选项现在传递一个“=”

例:

 $ sudo pip install --proxy=http://yourproxy:yourport package_name 

至lesspip3的工作也没有“=”,但是,而不是“http”,你可能需要“https”

最后的命令,为我工作:

 sudo pip3 install --proxy https://{proxy}:{port} {BINARY} 

首先尝试使用以下命令设置代理

 SET HTTPS_PROXY=http://proxy.***.com:PORT# 

然后尝试使用该命令

 pip install ModuleName 

如果您使用Windows,则可以尝试在Internet Explorer – >选项 – >连接 – > LAN设置 – >代理服务器中configuration代理。 这将影响全球的系统。