Virtualenv特定的pip配置文件

Luk*_*ton 24 python pip virtualenv virtualenvwrapper

我需要使用不同的pip配置文件,具体取决于我目前正在处理的项目.每个项目都来自一个单独的pypi repo,并且在我的.pip/pip.conf文件中需要自己的块

[global]
    timeout = 60
    index-url = <my_custom_pypi_repo>
Run Code Online (Sandbox Code Playgroud)

有没有办法在virtualenv特定的基础上提供pip.conf文件?

理想情况下,当我跑

 workon env1
 pip install env1_package
Run Code Online (Sandbox Code Playgroud)

它只会尝试从env1配置文件下载

和env2相似我最好跑的时候

 workon env2
 pip install env2_package
Run Code Online (Sandbox Code Playgroud)

我希望它不要从env1 pypi服务器请求这个包.

Luk*_*ton 37

在我发布问题后找到了这个:

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

 ~/.pip/pip.conf
Run Code Online (Sandbox Code Playgroud)

你需要设置:

 ~/.virtualenvs/env1/pip.conf
 ~/.virtualenvs/env2/pip.conf
Run Code Online (Sandbox Code Playgroud)

它仍将继承自:

 ~/.pip/pip.conf
Run Code Online (Sandbox Code Playgroud)

但是会允许它为每个环境覆盖.

  • 请注意,正如 @sql_knievel 所说,在 Windows 上,该文件需要称为“pip.ini”而不是“pip.conf”。 (2认同)

sql*_*vel 7

只是用pip 文档中的最新信息更新这里的答案:

在 virtualenv 中:

  • 在 Unix 和 macOS 上,文件是 $VIRTUAL_ENV/pip.conf

  • 在 Windows 上,文件是:%VIRTUAL_ENV%\pip.ini

一旦您激活了您感兴趣的特定虚拟环境,就会设置 $VIRTUAL_ENV 环境变量。