Pip not working behind firewall

pip, proxy, python

Solution

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`

Problem

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

Original source