Я обычно предпочитал бы создавать virtualenvs с - no-site-packages опция для большей изоляции, и также потому что Python по умолчанию, глобальные пакеты включают довольно много пакетов и обычно большинство из них, не нужен. Однако я все еще хотел бы удержать несколько избранных глобальных пакетов, как PIL или psycopg2. Существует ли хороший способ включать их в virtualenv, который может также быть автоматизирован легко?
Если вы ' если вы используете virtualenvwrapper , и вы можете использовать сценарий postmkvirtualenv для автоматического создания символических ссылок в новом каталоге пакетов сайта virtualenv.
#!/bin/sh
cdsitepackages
ln -s /path/to/system/site-packages/package-name
cdvirtualenv
Я не пробовал это с этими конкретными пакетами, но я предполагаю, что простая симлинка из глобальных site-пакетов в site-пакеты virtualenv может сработать, и это легко сделать скриптом.