我正在开始一个新的 Python 项目,我想使用virtualenv来有一个干净的开始。设置好之后,我仍然可以导入我没有为新的 virtualenv 安装的旧模块 - 为什么?
我创建了一个:
virtualenv ~/virtualenvs/mynewproject --no-site-packages
Run Code Online (Sandbox Code Playgroud)
现在我激活 source bin/activate
现在,当我启动 python 解释器时(只需键入python),我认为它将在我的 virtualenv 中使用 python 解释器,并且我的 pythonpath 将被设置为我的 virutalenv 的 python 的站点包路径(/virtualenvs/mynewporject/lib /python2.7/site-packages),仅此而已。
然而,当我查看 sys.path 时,所有旧的、系统范围的包都可用,我可以很好地导入它们——这是我不想要的。
我在这里缺少什么?
检查您的PYTHONPATH环境变量,该变量可能指向您拥有旧版本软件包的位置。这个变量总是在你的第一个,sys.path所以确保你清除它或将它更改为指向你激活的 virtualenv。
| 归档时间: |
|
| 查看次数: |
868 次 |
| 最近记录: |