python virtualenv:为什么我仍然可以在clean / new virtualenv中导入旧模块

时间:2012-04-26 11:14:15

标签: python virtualenv

我正在开始一个新的Python项目,我希望与 virtualenv 合作,以便有一个干净的开始。设置一个后,我仍然可以导入我没有为新virtualenv安装的旧模块 - 为什么?

我创建了一个:

virtualenv ~/virtualenvs/mynewproject --no-site-packages

现在我使用source bin/activate

激活

现在当我启动一个python解释器(只需键入python)时,我认为它将在我的virtualenv中使用python解释器,而我的pythonpath将被设置为我的virutalenv的site-packages路径python(/virtualenvs/mynewporject/lib/python2.7/site-packages),没有别的。

然而,当我查看sys.path时,所有旧的系统级软件包都可用,我可以很好地导入它们 - 这是我不想要的。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

检查您的PYTHONPATH环境变量,该变量可能指向您的旧版软件包的位置。此变量始终位于sys.path中,因此请确保清除它或将其更改为指向您激活的virtualenv。

相关问题