Virtualenv specific pip config files

Luke Exton picture Luke Exton · Feb 25, 2016 · Viewed 31.6k times · Source

I need to use different pip config files depending on which project I'm currently working on. Each project pulls from a separate pypi repo and needs its own block in my .pip/pip.conf file

[global]
    timeout = 60
    index-url = <my_custom_pypi_repo>

Is there a way to provide a pip.conf file on a virtualenv specific basis?

Ideally when I run

 workon env1
 pip install env1_package

It would only try and download from the env1 config file

And similar for env2 Ideally when I run

 workon env2
 pip install env2_package

I would like it to not request this package from the env1 pypi server.

Answer

Luke Exton picture Luke Exton · Feb 25, 2016

Found this after I had posted the question:

https://pip.pypa.io/en/stable/user_guide/#config-file

 ~/.pip/pip.conf

You will need to set:

 ~/.virtualenvs/env1/pip.conf
 ~/.virtualenvs/env2/pip.conf

It will still inherit from:

 ~/.pip/pip.conf

But will allow it to be overwritten for each environment.