pip:找不到激活的virtualenv(必填)

时间:2013-05-09 11:07:11

标签: python osx-mountain-lion virtualenv pip

我正在尝试在mac osx 10.8.3上安装virtualenv和/或virtualenvwrapper

过去两天我一直在和python战斗。最后我能够使用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

我该如何解决这个问题?

由于

7 个答案:

答案 0 :(得分:89)

打开您的~/.bashrc文件,看看这行是否存在 -

export PIP_REQUIRE_VIRTUALENV=true

可能会造成麻烦。如果它在那里,将其更改为false并运行 -

source ~/.bashrc

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

注意:如果您当前用户的根目录中有.bash_profile而不是.bashrc,则一切正常。

答案 1 :(得分:7)

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

此设置是一个很好的安全检查;通常情况下,你会想要将东西安装到virtualenvs中。但是,有时你想要使用global / system 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
...

答案 2 :(得分:5)

对已经提出的解决方案的另一个解决方案是添加一个shell命令,允许您通过临时覆盖默认设置来安装py包。将其添加到~/.profile~/.bashrc或维护shell的导出/设置的任何位置(在我的情况下为~/.zshrc)。

syspip(){
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}

通过这个简单的添加,您可以通过syspip install <package>将pip包安装到系统中。

答案 3 :(得分:2)

按照以下方式验证〜/ .pip / pip.conf的内容:

[global]
index=https://pypi.python.org/simple/

require-virtualenv=false

如果以前的版本设置为require-virtualenv = true

答案 4 :(得分:0)

您可能拥有此“锁”的另一个地方是pip.conf文件。在我的情况下,我的~/Library/Application Support/pip文件夹中有一个忘记了。

文件的典型内容可能是:

[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true

与其他答案类似,文件中的false应更改为true

答案 5 :(得分:0)

对于火柴盒,您必须转到'.bash_profile'

1)在终端中用您喜欢的编辑器打开

nano .bash_profile或vim .bash_profile

2)找到显示

的文本行

导出PIP_REQUIRE_VIRTUALENV = true

3)删除它或将其设置为“ false”

4)最终重新启动终端

答案 6 :(得分:0)

在这里注意@JCotton的建议很重要-保持您的pip设置以便仅安装到virtualenvs中是很好的做法。

他的解决方法是重新设置pip install --upgrade pip --isolated的virtualenv设置。

您不应通过配置文件或编辑〜/ .bash_rc或〜/ .bash_profile来关闭需要virtualenv的程序,以安装项目的pip软件包。我们只在这里这样做,因为OP本身需要安装virtualenv。

通常,我看到人们最初没有为他们的项目正确设置他们的virtualenv时收到此消息。提醒您要使用自己的python和pip创建一个virtualenv,以免遇到“找不到已激活的virtualenv”错误,请运行virtualenv -p python3