Using pip behind a proxy with CNTLM
With Ubuntu I could not get the proxy option to work as advertised – so following command did not work:
sudo pip --proxy http://web-proxy.mydomain.com install somepackage
But exporting the https_proxy
environment variable (note its https_proxy
not http_proxy
) did the trick:
export https_proxy=http://web-proxy.mydomain.com
then
sudo -E pip install somepackage
To setup CNTLM for windows, follow this article. For Ubuntu, read my blog post.
Edit:
Basically, to use CNTLM in any platform, you need to setup your username and hashed password, before using http://127.0.0.1:3128
as a proxy to your parent proxy.
Edit the config and add important information like domain, username, password and parent proxy.
Generate hashed password.
Windows
cntlm –c cntlm.ini –H
Ubuntu/Linux
cntlm -v -H -c /etc/cntlm.conf
Remove plain text password from the config and replace them with the generated passwords.
To check if working:
Windows cntlm –M http://www.google.com
Ubuntu/Linux sudo cntlm -M http://www.google.com/
For more detailed instructions, see links above.
Update:
Just for completeness sake, I was able to configure and use CNTLM in Windows recently. I encountered a problem during the syncing process of Kindle for PC because of our proxy and installing and configuring CNTLM for Windows fixed that issue for me. Refer to my article for more details.
Under Windows dont forget to set
SET HTTPS_PROXY=<proxyHost>:<proxyPort>
what I needed to set for
pip install pep8