Я использую Arch Linux и хочу использовать виртуальные среды для установки только тех немногих пакетов PIP, которые я использую для конкретных проектов, продолжая использовать пакеты Arch для Python. Однако, когда я создаю новый VENV, который использует --system-site-packages
(для доступа к базовым пакетам Python Arch), новый VENV не является полным зеркалом среды, отличной от VENV.
Как я это проверял:
pip freeze
моей текущей установки Python из пакетов Arch.Создал виртуальную среду, venv
$mkvirtualenv --system-site-packages venv
Создан второй
pip freeze
-кадр изнутри активного венва
Я ожидал, что разница будет такой же, но есть многочисленные различия.
Я считаю, что все Python и связанные с ним пакеты были установлены с помощью pacman
. Я уверен, что все основные пакеты (iPython, Numpy, Pandas, Jupyter, Matplotlib и т.д.) Были установлены с помощью менеджера пакетов Arch pacman
. Поскольку вчера я не просто установил свою систему, вполне возможно, что со временем я использовал PIP для нескольких пакетов, но соблюдаю правило, которое я использую, - это использование пакетов, установленных pacman
чтобы воспользоваться преимуществами сообщества Arch. исправление несовместимости (в отличие от некоторой комбинации пакетов Github, PiP и Arch).
Как я могу устранить проблему различных пакетов в моем VENV с помощью --system-site-packages
?
НОТА. Этот вопрос может идти в неправильном направлении, если я неправильно понимаю, как работает аргумент --system-site-packages
. В этом случае должен возникнуть вопрос: почему --system-site-packages
не создает дублирующее зеркало пакетов Python моей системы?