virtualenv --no-site-packages v1
cd v1\Scripts
activate.bat
python -c "import django" # - no problem here
为什么会看到Django包???它应该给我一个导入错误,对吧?
答案 0 :(得分:9)
取消设置PYTHONPATH
环境变量。 virtualenv的想法是你可以创建自己的环境(完全隔离或扩展默认环境),这样你就不必搞砸了。
有人注意到已经有a similar question on SO。 如果您需要更好的解释,请阅读它。
答案 1 :(得分:2)
只要ImportError
中有django
个包,就不应该提出任何sys.path
。
如果您想知道django
来自何处,请运行:
python -c "import django; print django.__file__"
然后检查Python的Module Search Path。
更新:正如评论中所指出的:考虑到virtualenv中的--no-site-packages
选项仅从sys.path
中删除标准的site-packages目录。其他路径保持不变。