Search code examples
pythonproxypipini

How to configure PIP per config file to use a proxy (with authentification)?


I used to set up environment evariables http_proxy and https_proxy (with user + password) in the past to use Pip (on Windows) behind a corporate proxy. But recently I needed to tell Pip to use a proxy without setting up environment variables as this conflicted with git configuration in combination with SSL Certificates which I get to work only by removing environment variables for proxy.

Fortunately you can configure PIP with an pip.ini file as described here: https://pip.pypa.io/en/stable/user_guide/#config-file

The detailed answer to my own question follows below.


Solution

  • Here are the steps how to configure proxy (with auth.) in pip's config file (pip.ini)

    1. (if it does not already exist) Create a folder named 'pip' and inside it a file named 'pip.ini' as described here: https://pip.pypa.io/en/stable/user_guide/#config-file (location an name may differ per platform - e.g. on Windows it's %APPDATA%\pip\pip.ini)
    2. edit pip.ini file and add

      [global]
      proxy = http://user:password@proxy_name:port
      
    3. That's it!

    Example for proxy with authentification (user + password):

    proxy = http://butch:secret@proxyname:1234

    proxyname can be an IP adress, too

    Example for proxy without auth.:

    proxy = http://proxyname:1234