Подтвердить что ты не робот

Как импортировать глобально установленный пакет в папку virtualenv

Итак, у меня есть папка virtualenv, называемая venv для моего проекта python.

Я могу запустить:

venv/bin/pip install -r requirements.txt

Что устанавливает все требования, которые мне нужны для проекта, кроме одного, M2Crypto. Единственный способ установить его - через apt-get:

apt-get install python-m2crypto

Как я могу добавить этот пакет, установленный через папку apt to venv?

4b9b3361

Ответ 1

Что я сделал в конце концов:

cp -R /usr/lib/python2.7/dist-packages/M2Crypto /home/richard/hello-project/venv/lib/python2.7/site-packages/
cp -R /usr/lib/python2.7/dist-packages/OpenSSL /home/richard/hello-project/venv/lib/python2.7/site-packages/

Ответ 2

--system-site-packages

предоставляет доступ к глобальным модулям пакетов сайтов в виртуальную среду.

вы можете сделать:

$ sudo apt-get install python-m2crypto
$ virtualenv env --system-site-packages

... и тогда у вас будет доступ к m2crypto (наряду со всеми другими общесистемными установленными пакетами) внутри вашего virtualenv.

Ответ 3

toggleglobalsitepackages переключит доступ к общесистемному site-packages.

Примечание. Для получения этой команды вам необходимо pip install virtualenvwrapper; ваниль virtualenv не включает его. С помощью virtualenvwrapper вы также получите очень полезные команды mkvirtualenv и rmvirtualenv.

Ответ 4

venv/bin/pip install -I M2Crypto

-I заставляет его также быть установленным в virtualenv, даже если он уже установлен глобально.

Ответ 5

Самое простое решение. В каталоге виртуальной среды отредактируйте файл pyvenv.cfg и установите параметр include-system-site-packages = true Сохранить файл. Установленные глобально модули появятся при следующей активации (источник /bin/активация) вашей среды. Это можно проверить через "список пипсов"

Наслаждаться.