virtualenv --no-site-packages对我不起作用

时间:2011-02-13 22:08:46

标签: python virtualenv

virtualenv --no-site-packages v1

cd v1\Scripts

activate.bat

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

为什么会看到Django包???它应该给我一个导入错误,对吧?

2 个答案:

答案 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目录。其他路径保持不变。