2013-05-09 130 views
22

我想安设的virtualenv和/或virtualenvwrapper上的Mac OSX 10.8.3PIP:无法找到激活的virtualenv(必填)

我一直争取与蟒蛇最后两天。最后我能够使用brew安装python 2.7.4。在我使用easy_install安装virtualenv之前。然后我试图卸载它,试图让我的电脑与我的同事处于同样的状态。也许我会成功卸载它,也许不会。我不知道如何测试它。现在我应该安装的virtualenv使用 -

pip install virtualenv 

但它给了我 -

Could not find an activated virtualenv (required). 

pip install virtualenvwrapper给出完全相同的输出。

而且变量:PIP_RESPECT_VIRTUALENV为空:

echo $PIP_RESPECT_VIRTUALENV 

我怎样才能解决这个问题呢?

感谢

+0

pip和python的哪个版本? – 2013-05-09 11:14:45

+0

python是2.7.4。这个点是它里面的点。感谢您的询问。 – 2013-05-09 11:20:36

回答

61

打开~/.bashrc文件,看看这条线是有 -

export PIP_REQUIRE_VIRTUALENV=true 

它可能会引起麻烦。如果它的存在,将其更改为false和运行 -

source ~/.bashrc 

如果没有,从终端上运行export PIP_REQUIRE_VIRTUALENV=false

+0

事实上,输出PIP_RESPECT_VIRTUALENV = true的行在那里。所以我评论它。然后再次运行该文件,但它仍然不起作用。于是我开了一个新的终端,现在它工作了。非常感谢你。 – 2013-05-09 11:26:02

+1

是的,它必须为我设置为false。 – cbron 2014-03-24 19:55:13

+3

对于任何碰到此问题的人:请注意'PIP_RESPECT_VIRTUALENV'(如原始问题中提到的)和'PIP_REQUIRE_VIRTUALENV'之间的区别,这是上述解决方案。 – yvandermeer 2015-01-20 09:57:13

2

@Bibhas有它; +1以在~/.profile~/.bashrc中查找export PIP_REQUIRE_VIRTUALENV=true。您可以使用env |grep PIP_REQUIRE_VIRTUALENV确认当前shell中的设置。

此设置是一个很好的安全检查;通常情况下,你会想要把东西安装到virtualenvs中。但是,有时候你想想要使用全局/系统python。在这些情况下,请看--isolated

在独立模式下运行pip,忽略环境变量和用户配置。

$ pip install --upgrade pip 
Could not find an activated virtualenv (required). 
$ pip install --upgrade pip --isolated 
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages 
$ pip freeze --isolated 
... 
3

另外一个解决方案已经存在的那些是添加一个shell命令,可以让你暂时覆盖默认设置安装PY包。把它加到你的~/.profile,~/.bashrc或者任何你保持你的外壳的出口/设置(在我的情况下,~/.zshrc)。

syspip(){ 
    PIP_REQUIRE_VIRTUALENV="" pip "[email protected]" 
} 

有了这个简单此外,还可以通过安装syspip install <package> PIP封装到系统中。