我正在尝试从公司防火墙后面使用pip,而没有任何运气。
我已设置http_proxy
和https_proxy
个环境变量。 wget有效,但不是pip。
我试过了......
sudo -E pip install virtualenv
使用这些代理...
export http_proxy=myproxyname.mydomain.com:8080
export https_proxy=myproxyname.mydomain.com:8080
...并获得了一个以此
结束的长堆栈跟踪/requests/packages/urllib3/poolmanager.py", line 214, in __init__
'Not supported proxy scheme %s' % self.proxy.scheme
AssertionError: Not supported proxy scheme None
我查看了poolmanager.py源代码。看起来它需要代理变量以方案开头。所以我再次尝试使用以下代理...
export http_proxy=http://myproxyname.mydomain.com:8080
export https_proxy=https://myproxyname.mydomain.com:8080 (also tried this with http://)
...我收到以下错误
Downloading/unpacking virtualenv
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement virtualenv
Cleaning up...
No distributions at all found for virtualenv
Storing debug log for failure in /root/.pip/pip.log
这与我根本没有代理时得到的错误相同,但是当设置代理时我得到的速度要快得多。
当我尝试wget ...
wget --no-check-certificate https://pypi.python.org/simple/
它工作正常,所以我认为代理本身似乎没问题,除非我用pip尝试它们。
使用--proxy
选项而不是envvars没有帮助。相同的结果。
有什么想法吗?
谢谢, 豆
答案 0 :(得分:15)
使用--trusted-host参数。
我想出了如何使用--trusted-host参数让我在公司防火墙后面与我合作。
我的第一次尝试是:
pip install matplotlib
失败的文字就是这样:
无法获取网址https://pypi.python.org/simple/matplotlib/:那里 是证实ssl证书的问题:[SSL: CERTIFICATE_VERIFY_FAILED]证书验证失败(_ssl.c:645) - 跳过
然后我尝试了这个有用的工作:
pip3.5 install matplotlib --trusted-host pypi.python.org
答案 1 :(得分:7)
这对我有用
export HTTP_PROXY=http://myusr:mypswd@myproxyname.mydomain.com:8080
export HTTPS_PROXY=https://myusr:mypswd@myproxyname.mydomain.com:8080
sudo -E pip3 install --proxy http://myusr:mypswd@myproxyname.mydomain.com:8080 virtualenv
答案 2 :(得分:5)
我必须在Windows中设置所有这些才能使其正常工作。
set http_proxy=http://proxy.corp.com:8083
set https_proxy=http://proxy.corp.com:8083
set all_proxy=http://proxy.corp.com:8083
set no_proxy=localhost,.corp.com
set HTTP_PROXY=http://proxy.corp.com:8083
set HTTPS_PROXY=http://proxy.corp.com:8083
set ALL_PROXY=http://proxy.corp.com:8083
set NO_PROXY=localhost,.corp.com
set PATH=c:\python27\scripts;c:\python27\;%PATH%
请将 proxy.corp.com:8083 替换为您的http代理服务器。
之后我使用 pip install numpy
[Last" .corp.com"错过了一段时间(固定它)....顺便说一句,在我们公司防火墙后面发出很多头发之后,这个解决方案是唯一有效的解决方案!]
答案 3 :(得分:3)
pip
可以选择设置代理,因此以下内容适用于您:
sudo -E pip install --proxy="myproxyname.mydomain.com:8080" virtualenv
答案 4 :(得分:0)
尝试添加" http://"在代理主机名之前:
sudo -E pip install --proxy="http://myproxyname.mydomain.com:8080" virtualenv
答案 5 :(得分:0)
这是在代理
背后工作sudo -E pip --proxy username:password @ http://IP:port install
答案 6 :(得分:0)
在Windows上,转到“ Internet属性” --->“连接” --->“ LAN设置” 并检查地址(如果它是wpad.dat文件,请下载并查找“ ProxyPort”和“ ProxyServer”)。
然后尝试:
pip --proxy http://*user*:*password*@P*roxyServer*:*ProxyPort* install *module*