我正在开始一个新的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时,所有旧的系统级软件包都可用,我可以很好地导入它们 - 这是我不想要的。
我在这里缺少什么?
答案 0 :(得分:4)
检查您的PYTHONPATH
环境变量,该变量可能指向您的旧版软件包的位置。此变量始终位于sys.path
中,因此请确保清除它或将其更改为指向您激活的virtualenv。