Я ищу способ сделать virtualenv, который будет содержать только некоторые библиотеки (которые я выбрал) из базовой установки Python.
Чтобы быть более конкретным, я пытаюсь импортировать мой matplotlib в virtualenv во время создания virtualenv. Он не может быть эффективно установлен с помощью pip или easy_install, поскольку он пропускает некоторые библиотеки компилятора Фортрана. То, как я делал это до сих пор, было вручную скопировать из
/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/
однако это предотвращает регистрацию вручную импортированных ссылок с помощью желтка (который печатает все доступные в настоящее время библиотеки в virtualenv).
Итак, есть ли способ сделать выборочный вариант
virtualenv --system-site-packages
python
virtualenv
TheMeaningfulEngineer
источник
источник
--system-site-packages
. Ответы предлагают использовать неселективный,--system-site-packages
а затем переустановить некоторые пакеты локально, что отличается и имеет различные последствия.Ответы:
Создать среду с
virtualenv --system-site-packages
. Затем активируйте virtualenv и, когда вы хотите, чтобы вещи были установлены в virtualenv, а не в системном python, используйтеpip install --ignore-installed
илиpip install -I
. Таким образом, pip установит то, что вы запросили локально, даже если существует общесистемная версия. Ваш интерпретатор python сначала будет искать в каталоге пакетов virtualenv, поэтому эти пакеты должны скрывать глобальные.источник
no-global-site-packages
включенным. Но по какой-то причине я не знаю, был ли пакет, который использовался из глобальной системы. Использованиеpip install -I
пакета изнутри virtualenv не сработало. В конце концов я временно удалил пакет как из virtualenv, так и из глобальной системы. Затем я смог установить его обратно в virtualenv и в систему (в таком порядке). Так что теперь все работает нормально.Вы можете использовать,
--system-site-packages
а затем "переустановить" определенные вещи для вашего virtualenv. Таким образом, все, что вы устанавливаете в свой virtualenv, будет взято оттуда, в противном случае оно будет взято из вашей системы.источник
Установите виртуальную среду с
и использовать
pip install -U to install matplotlib
источник
Вы можете использовать
virtualenv --clear
. который не будет устанавливать какие-либо пакеты, а затем установить те, которые вы хотите.источник