Python系统库泄漏到虚拟环境中

时间:2016-10-16 20:01:09

标签: python macos pip virtualenv

在开发一个新的python项目并尝试通过虚拟环境学习时,我遇到了以下问题两次绊倒:

  • 我创建了一个名为venv的虚拟环境。正在运行pip freeze没有显示任何内容。
  • 我使用pip install依赖项安装我的依赖项。通过pip冻结证实,venv库开始填充。
  • 几天后,我回到我的项目,在通过source venv/bin/activate激活虚拟环境后,当运行pip freeze时,我看到系统python发行版中安装了整个库列表(I&#39 ; m使用Mac Os 10.9.5),而不是我希望保留在我的虚拟环境中的小子集。

我确定我之间必须做错事,但我不知道这怎么可能发生。有任何想法吗?

更新: 在查看this回答之后,我意识到在运行pip freeze时,被调用的pip命令是/usr/local/bin/pip而不是let brands = value["brands"] as! NSDictionary内的命令我的虚拟环境。所以虚拟环境很好,但我想知道路径中的哪些变化可能导致这种情况,以及如何防止它们再次发生(我的PYTHONPATH变量没有设置)。

1 个答案:

答案 0 :(得分:0)

我意识到在系统周围移动虚拟环境文件夹时出现了问题。修复是修改位于activate文件夹内的pipvenv/bin脚本,指向新的venv位置,如this回答所示。现在我的pip冻结显示正确的文件。