在pyvenv环境python3.4中调用正确的pip

时间:2014-06-30 16:31:57

标签: python virtualenv

我使用以下命令安装了一个新的pyvenv环境:

python3.4 -m venv env
source env/bin/activate

但是,当我致电which pip时,我会收到以下信息:/usr/bin/pip。显然,仍然使用系统范围的pip安装。如果我查看pyvenv文档,它会说明以下内容:

  

版本3.4中更改:默认安装pip,添加了   --without-pip和--copies options

这是正确的,当我尝试在我的激活环境中安装pip时,我得到以下结果:

  

要求已经是最新的:pip in ./env/local/lib/python3.4/dist-packages

当我在激活的环境中调用pip时,如何确保调用pyvenv pip?

3 个答案:

答案 0 :(得分:1)

看起来你(我在之前的回答中)看到了bug的影响。一切似乎都在更新版本的pyvenv-3.4中工作。

$ pwd
~/test
$ pyvenv-3.4 myenv
$ source myenv/bin/activate
(myenv)$ which pip
~/test/myenv/bin/pip

答案 1 :(得分:0)

我遇到了类似的问题,我问了我的虚拟主机(WebFaction)并得到了很好的回应。 Understanding pyvenv and pip in virtual environments with python 3.4 and above页面总结如下。

您似乎不必担心虚拟环境使用的是哪个点。只要您的虚拟环境处于活动状态,就会在其中安装任何软件包,无论使用哪个pip。

Python 3.4虚拟环境的一个方面是,如果软件包不支持Python's new "wheel" package format,则软件包将不会安装在虚拟环境目录中。但它仍将与虚拟环境保持连接。

由于这种陌生感,我选择使用virtualenv而不是pyvenv-3.4,一切都按预期工作。

答案 2 :(得分:0)

此问题已在Ubuntu 14.10上修复。

如果您在Centos6上通过以下命令安装了python 3.4。

yum install http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/python34u-3.4.2-1.ius.centos6.x86_64.rpm

您应该重新打开一个新终端(或重新登录您的系统)。

它对我有用。祝你好运。

相关问题