С помощью virtualenv вы можете разрешить каждой среде использовать глобально установленные системные пакеты, просто опустив опцию --no-site-packages
. Это поведение по умолчанию.
Если вы хотите, чтобы каждая среда устанавливала все свои пакеты, используйте --no-site-packages
, и вы получите чистую установку на python для установки ваших собственных модулей. Это полезно, когда вы не хотите, чтобы пакеты конфликтовали с системными пакетами. Обычно я делаю это только для того, чтобы обновления системы не мешали рабочему коду.
Я бы осторожно отнесся к ним как к песочницам, потому что они только частично изолированы. Пути к двоичным файлам и библиотекам Python модифицируются для использования среды, но на самом деле это все, что происходит. Virtualenv не делает ничего, чтобы предотвратить выполнение кода разрушительными действиями в системе. Лучший способ для песочницы - правильно установить разрешения для Linux / Unix и предоставить им собственные учетные записи.
РЕДАКТИРОВАТЬ для версии 1.7 +
По умолчанию в 1.7 не включены системные пакеты, поэтому, если вы хотите, чтобы поведение при использовании системных пакетов использовалось, параметр --system-site-packages
. Проверьте документы для получения дополнительной информации.