Файлы конфигурации pip, специфичные для Virtualenv
Я столкнулся с проблемой при работе с несколькими проектами на Python, которые требуют использования разных конфигурационных файлов pip. Каждый проект использует отдельный репозиторий PyPI и нуждается в своем блоке в файле .pip/pip.conf
.
Вот пример моего текущего файла конфигурации:
[global]
timeout = 60
index-url = <my_custom_pypi_repo>
Мне нужно знать, есть ли способ предоставить файл pip.conf
, специфичный для каждого виртуального окружения (virtualenv)?
Идеально было бы, чтобы при запуске команд:
workon env1
pip install env1_package
pip использовал только конфигурационный файл для env1
и не обращался к репозиторию, указанному для других окружений.
Аналогично, для env2
, когда я запускаю:
workon env2
pip install env2_package
Я бы хотел, чтобы pip не запрашивал этот пакет с сервера PyPI, связанного с env1
.
Как можно добиться такой настройки?
1 ответ(ов)
Вы можете настроить различные конфигурации pip для разных виртуальных окружений, создав файлы pip.conf
в соответствующих директориях. У вас есть возможность задать настройки для каждого виртуального окружения, создав следующие файлы:
~/.virtualenvs/env1/pip.conf
~/.virtualenvs/env2/pip.conf
При этом они будут наследовать настройки из общего конфигурационного файла:
~/.pip/pip.conf
Тем не менее, если вы определите какие-либо параметры в файлах конкретных окружений, они будут иметь приоритет и перепишут значения из общего файла. Это позволит вам гибко настраивать pip для различных проектов. Подробности о конфигурации можно найти по этой ссылке.
Как выйти/деактивировать виртуальное окружение Python?
В чем разница между venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv и другими?
Как обновить pip изнутри виртуального окружения?
Как установить psycopg2 с помощью "pip" в Python?
Нет модуля с именем pkg_resources