4

我正在开始一个新的 Python 项目,我想与virtualenv一起工作以有一个干净的开始。不过,在设置好之后,我仍然可以为新的 virtualenv 导入尚未安装的旧模块 - 为什么?

我创建了一个:

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

现在我激活source bin/activate

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

但是,当我查看 sys.path 时,所有旧的、系统范围的包都可用,我可以很好地导入它们——这是我不想要的。

我在这里想念什么?

4

1 回答 1

5

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

于 2012-04-26T15:44:53.113 回答