virtualenv --no-site-packages v1
cd v1\Scripts
activate.bat
python -c "import django" # - no problem here
爲什麼它看到Django包?它應該給我一個導入錯誤,對吧?virtualenv - 無站點包不適用於我
virtualenv --no-site-packages v1
cd v1\Scripts
activate.bat
python -c "import django" # - no problem here
爲什麼它看到Django包?它應該給我一個導入錯誤,對吧?virtualenv - 無站點包不適用於我
只是未設置PYTHONPATH
環境變量。 virtualenv的想法是,你可以創建你自己的環境(完全隔離或擴展默認環境),所以你不必混亂。有人注意到已有a similar question on SO。 如果您需要更好的解釋,請閱讀它。
只要在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目錄。其他路徑保持不變。
什麼`python -c「導入sys;打印sys.executable」`產生? – jfs 2011-02-13 22:15:43
@ j.f。 :v1 \ Scripts \ python.exe – agend 2011-02-13 22:34:49