如何让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代理。 这将影响全球的系统。