virtualenv --no-site-packages не работает для меня

virtualenv --no-site-packages v1

cd v1Scripts

activate.bat

python -c "import django" # - no problem here

почему он видит пакет Django??? Это должно дать мне ошибку импорта, верно?

2 ответов


просто unset PYTHONPATH переменные среды. Идея virtualenv заключается в том, что вы можете создать свою собственную среду (полностью изолированную или расширяющую среду по умолчанию), поэтому вам не нужно возиться с этим.

как кто-то заметил, что уже было аналогичный вопрос на SO. Прочтите, если вам нужно лучшее объяснение.


он не должен подниматьImportError пока нет django пакета sys.path.

здесь django исходит из, run:

python -c "import django; print django.__file__"

затем проверить в Python Путь Поиска Модуля.

обновление: как указано в комментариях: примите во внимание, что --no-site-packages опция в virtualenv удаляет только стандартный каталог site-packages из sys.path. Другие пути остаются теми же.