VirtualEnv和pip3

时间:2018-01-17 11:02:50

标签: python pip virtualenv

我使用VirtualEnv创建了一个没有系统站点包的python2环境,如下所示:

virtualenv -p /usr/bin/python2.7 --no-site-packages ENV2.7

我想在这种环境下安装软件包。 但是,我发现我的python代码仍然试图从这个环境中寻找包。

例如,在激活此env之后,我使用了:

pip install matplotlib

在我的demo.py中,有

import matplotlib

但是这引发了一个错误,并且找不到这个包 但是,当我在终端中使用python并输入交互式python时,导入matplotlib不会引发错误。 然后我启动了另一个终端,并尝试通过pip3:

将此软件包安装到环境之外
pip3 install matplotlib

原来我的demo.py运行良好。

有什么想法吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

听起来你的virtualenv pip版本可能正在使用pip3而不是pip2:

确保您在项目中使用正确的python版本,并在virtualenv中使用相同版本的pip 。 (请注意,您使用上面的pip一次,然后在virtualenv之外使用pip3。)

从virtualenv中查看你的pip版本:

workon (your env name)
which pip
pip -V

输出应该类似于:

$ which pip
/home/yourname/.virtualenvs/testenv/bin/pip

$ pip -V
pip 9.0.1 from /home/yourname/.virtualenvs/testenv/local/lib/python2.7/site-packages (python 2.7)

它应该告诉你你在virtualenv中使用了pip,以及正确的python版本。

如果看起来正确,请安装您的包。 pip install (whatever)

检查它们是否已安装pip freeze

运行您的项目。 :)