У меня есть несколько проектов Python, каждый из которых имеет свою виртуальную среду. Кроме того, у меня есть глобальная среда Python. Я хочу совместно использовать одни и те же файлы пакетов между виртуальными / глобальными средами, не копируя их несколько раз (где это возможно).
Environment Packages
----------------------------------------
GLOBAL: A B C D
VENV_1: A B C E
VENV_2: C D F
Итак, в этом примере:
- все среды будут совместно использовать одинаковых файлов для
C
.
GLOBAL
и VENV_1
также поделятся файлами для A
и B
.
- И
GLOBAL
и VENV_2
будут обмениваться файлами для D
.
- Но поскольку
E
и F
не установлены глобально, виртуальные среды будут устанавливать эти пакеты по отдельности.
Я пытался использовать virtualenv
с флагом --system-site-packages
, но это просто делает все глобальные пакеты доступными в виртуальной среде. Поэтому, когда я экспортирую свою среду, используя pip freeze
, она будет содержать ненужные пакеты.
Как я могу создать виртуальную среду с выбранными пакетами, чтобы, если пакет был установлен глобально, новая копия файлов для этого пакета не создавалась локально? Возможно ли это с помощью conda
или virtualenv
или любого другого инструмента?
Я использую Windows 10 с Python 3.6.