Как pip управляет одними и теми же пакетами в разных средах для экономии пространства - PullRequest
0 голосов
/ 20 февраля 2020

Я использую огромное пипсное окружение env1, и я хотел бы создать новый (env2), который имеет только один другой пакет, остальное такое же, как env1.

Нужно ли переустанавливать все пакеты снова в env2? Будет ли он занимать то же место на моем жестком диске, что и env1, или pip автоматически управляет эффективностью использования пространства с помощью символьных c ссылок для одних и тех же пакетов во всех средах?

Моя цель - уменьшить пространство, которое занимает вторую среду как можно больше.


На всякий случай я создал среду с:

python3 -m venv env1
python3 -m venv env2

1 Ответ

1 голос
/ 20 февраля 2020

Нужно ли переустанавливать все пакеты снова в env2?

Да.

Будет ли на моем жестком диске то же пространство, что и в env1

Да.

или пункт автоматически управляет эффективностью пространства

Нет. Невозможно найти символическую ссылку из других сред, потому что они могут отличаться - разные версии Python, разные версии пакетов, разные флаги компиляции.

Другая проблема: как pip найдет env1 из env2? pip не отслеживает существующие среды, они могут быть где угодно.

Еще одна проблема: что вы будете делать в env env2, если удалите env1? Символьные ссылки в env2 могут стать висящими.

Краткое резюме: дисковое пространство дешевле, чем решение основных проблем при попытке управлять пространством.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...