1

Я использую Arch Linux и хочу использовать виртуальные среды для установки только тех немногих пакетов PIP, которые я использую для конкретных проектов, продолжая использовать пакеты Arch для Python. Однако, когда я создаю новый VENV, который использует --system-site-packages (для доступа к базовым пакетам Python Arch), новый VENV не является полным зеркалом среды, отличной от VENV.

Как я это проверял:

  1. pip freeze моей текущей установки Python из пакетов Arch.

  2. Создал виртуальную среду, venv $mkvirtualenv --system-site-packages venv

  3. Создан второй pip freeze -кадр изнутри активного венва

  4. Сравните, используя diff

Я ожидал, что разница будет такой же, но есть многочисленные различия.

Я считаю, что все 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 моей системы?

0