我使用以下命令安装了一个新的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?
答案 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
您应该重新打开一个新终端(或重新登录您的系统)。
它对我有用。祝你好运。