2011-02-13 56 views
7
virtualenv --no-site-packages v1 

cd v1\Scripts 

activate.bat 

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

爲什麼它看到Django包?它應該給我一個導入錯誤,對吧?virtualenv - 無站點包不適用於我

+0

什麼`python -c「導入sys;打印sys.executable」`產生? – jfs 2011-02-13 22:15:43

+0

@ j.f。 :v1 \ Scripts \ python.exe – agend 2011-02-13 22:34:49

回答

9

只是未設置PYTHONPATH環境變量。 virtualenv的想法是,你可以創建你自己的環境(完全隔離或擴展默認環境),所以你不必混亂。有人注意到已有a similar question on SO。 如果您需要更好的解釋,請閱讀它。

2

只要在sys.path中有django包,它不應該引發任何ImportError

如果你想知道在哪裏django來自運行:

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

然後檢查Python的Module Search Path

UPDATE:正如在評論中指出:考慮到在virtualenv中的--no-site-packages選項只從sys.path刪除標準site-packages目錄。其他路徑保持不變。

相關問題