我正在尝试使用python包管理器pip来安装包,它是来自互联网的依赖项。但是我在我大学的代理服务器后面并且已经设置了http_proxy
环境变量。但是当我尝试安装这样的包时:
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>
我甚至试着像这样明确地设置我的代理变量:
pip install --proxy http://user:password@proxyserver:port TwitterApi
但我仍然得到同样的错误。如何让pip在代理服务器后面工作。
答案 0 :(得分:80)
根据pip --help
,pip的代理参数的格式为scheme://[user:passwd@]proxy.server:port
您应该使用以下内容:
pip install --proxy http://user:password@proxyserver:port TwitterApi
此外,应尊重HTTP_PROXY
env var。
请注意,在早期版本中(无法跟踪代码中的更改,抱歉,但文档已更新here),您必须将scheme://
部分保留为它起作用,即pip install --proxy user:password@proxyserver:port
答案 1 :(得分:23)
至少对于pip 1.3.1,它尊重http_proxy和https_proxy环境变量。确保定义两者,因为它将使用https访问PYPI索引。
export https_proxy="http://<proxy.server>:<port>"
pip install TwitterApi
答案 2 :(得分:13)
旧线程,我知道,但为了将来参考,现在使用“=”传递--proxy选项
示例:
std::vector<int>
答案 3 :(得分:5)
首先尝试使用以下命令设置代理
SET HTTPS_PROXY=http://proxy.***.com:PORT#
然后尝试使用命令
pip install ModuleName
答案 4 :(得分:3)
在Ubuntu上,您可以使用
设置代理export http_proxy=http://username:password@proxy:port
export https_proxy=http://username:password@proxy:port
或者如果您使用了SOCKS错误
export all_proxy=http://username:password@proxy:port
然后运行pip
sudo -E pip3 install {packageName}
答案 5 :(得分:2)
至少pip3也可以不用“=”,但是,你可能需要“https”来代替“http”
最终命令,对我有用:
sudo pip3 install --proxy https://{proxy}:{port} {BINARY}
答案 6 :(得分:-1)
如果您使用的是Windows,则可以尝试在Internet Explorer中配置代理 - &gt;选项 - &gt;连接 - &gt;局域网设置 - &gt;代理服务器。它将影响全球系统。