virtualenv --no-site-packages у меня не работает - PullRequest
7 голосов
/ 14 февраля 2011
virtualenv --no-site-packages v1

cd v1\Scripts

activate.bat

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

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

Ответы [ 2 ]

9 голосов
/ 14 февраля 2011

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

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

2 голосов
/ 14 февраля 2011

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

Если вам интересно, откуда взялся django, запустите:

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

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

ОБНОВЛЕНИЕ: Как указано в комментариях: Примите во внимание, что опция --no-site-packages вvirtualenv удаляет только стандартный каталог site-packages из sys.path.Остальные пути просто остаются прежними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...