I am trying to use pip from behind a corporate firewall, and not having any luck.
I have set the http_proxy
and https_proxy
environment variables. wget works, but not pip.
I tried this ...
sudo -E pip install virtualenv
with these proxies ...
export http_proxy=myproxyname.mydomain.com:8080 export https_proxy=myproxyname.mydomain.com:8080
... and got a long stacktrace which ended with this
/requests/packages/urllib3/poolmanager.py", line 214, in __init__ 'Not supported proxy scheme %s' % self.proxy.scheme AssertionError: Not supported proxy scheme None
I looked at the poolmanager.py source. It looks like it is requiring the proxy variables to begin with a scheme. So I tried again with the following proxies ...
export http_proxy=http://myproxyname.mydomain.com:8080 export https_proxy=https://myproxyname.mydomain.com:8080 (also tried this with http://)
... and I get the following error
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
This is the same error I get when I do not have a proxy at all, though I get it much faster when the proxies are set.
When I try wget ...
wget --no-check-certificate https://pypi.python.org/simple/
It works fine, so I think the proxies themselves seem ok, unless I try them with pip.
Using the --proxy
option instead of envvars did not help. Same results.
Any ideas?
Thanks, Bean
pypi.python.org.
pip can be configured to connect through a proxy server in various ways: using the --proxy command-line option to specify a proxy in the form scheme://[user:passwd@]proxy.server:port. using proxy in a Configuration Files. by setting the standard environment-variables http_proxy , https_proxy and no_proxy .
If I understand correctly, 443 port is the only port needed for pip/PyPI to actually work.
Use the --trusted-host argument.
I figured out how to get it to work with me behind my corporate firewall using the --trusted-host argument.
My first attempt was this:
pip install matplotlib
and the failed text was this:
Could not fetch URL https://pypi.python.org/simple/matplotlib/: There was a problem confirming the ssl certificate: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645) - skipping
So then I tried this which worked:
pip3.5 install matplotlib --trusted-host pypi.python.org
I had to set all this in Windows to make it work.
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%
Please replace proxy.corp.com:8083 with your http proxy server.
After that I use pip install numpy
[Last ".corp.com" was missing a period (fixed it).... by the way, after MUCH hair-pulling from behind our corporate firewall, THIS solution was the only one that worked!]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With