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

问题描述 投票:36回答:6

我想在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也为null:

echo $PIP_RESPECT_VIRTUALENV

我该如何解决这个问题?

谢谢

python osx-mountain-lion virtualenv pip
6个回答
91
投票

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

export PIP_REQUIRE_VIRTUALENV=true

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

source ~/.bashrc

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

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


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
...

5
投票

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

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

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


2
投票

验证〜/ .pip / pip.conf的内容如下:

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

require-virtualenv=false

如果之前它设置为require-virtualenv = true


0
投票

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

该文件的典型内容可能是:

[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true

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


0
投票

对于火柴盒你必须去'.bash_profile'

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

nano .bash_profile或vim .bash_profile

2)找到所说的文字行

export PIP_REQUIRE_VIRTUALENV = true

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

4)最后重启你的终端

© www.soinside.com 2019 - 2024. All rights reserved.