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

Python pip:找不到激活的virtualenv(必需),python,osx-mountain-lion,virtualenv,pip,Python,Osx Mountain Lion,Virtualenv,Pip,我正在尝试在MacOSX 10.8.3上安装virtualenv和/或VirtualVWrapper 在过去的两天里,我一直在和巨蟒搏斗。最后,我能够使用brew安装python 2.7.4。在我使用easy_install安装virtualenv之前。然后我试着卸载它,试着让我的电脑和我的一个同事的情况一样。也许我卸载成功了,也许没有。我不知道如何测试它。现在我应该使用- pip install virtualenv 但它给了我- Could not find an activated vi

我正在尝试在MacOSX 10.8.3上安装virtualenv和/或VirtualVWrapper

在过去的两天里,我一直在和巨蟒搏斗。最后,我能够使用brew安装python 2.7.4。在我使用easy_install安装virtualenv之前。然后我试着卸载它,试着让我的电脑和我的一个同事的情况一样。也许我卸载成功了,也许没有。我不知道如何测试它。现在我应该使用-

pip install virtualenv
但它给了我-

Could not find an activated virtualenv (required).
pip安装VirtualEnvrapper提供完全相同的输出

此外,变量:PIP\u percent\u VIRTUALENV为空:

我如何解决这个问题

谢谢

打开~/.bashrc文件,看看这一行是否在那里-

export PIP_REQUIRE_VIRTUALENV=true
这可能是造成麻烦的原因。如果存在,将其更改为false并运行-

source ~/.bashrc
如果不是,则从终端运行导出PIP\u REQUIRE\u VIRTUALENV=false


注意:如果您当前用户的根目录中有.bash_配置文件而不是.bashrc,则所有操作都是相同的。

@Bibhas拥有它+1要在~/.profile或~/.bashrc中查找导出PIP\u REQUIRE\u VIRTUALENV=true。您可以使用env | grep PIP_REQUIRE_VIRTUALENV确认当前shell中的设置

此设置是一个良好的安全检查;通常情况下,您会希望将东西安装到virtualenvs中。但是,有时您确实希望使用全局/系统python。在这些情况下,请查看:

在隔离模式下运行pip,忽略环境变量和用户配置


对于已经提出的解决方案,另一个解决方案是添加一个shell命令,该命令允许您通过临时覆盖默认设置来安装py软件包。将其添加到~/.bashrc的~/.profile中,或者在我的例子中维护shell导出/设置的任何地方~/.zshrc中


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

另一个可能有此锁的地方是pip.conf文件。我的~/Library/Application Support/pip文件夹中有一个,但我忘记了

文件的典型内容可能是:

[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true

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

验证~/.pip/pip.conf的内容,如:

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

require-virtualenv=false

如果之前的设置为require virtualenv=true,则火柴簿必须转到“.bash\u profile”

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

nano.bash_配置文件或vim.bash_配置文件

2找到上面的文本行

导出PIP\u REQUIRE\u VIRTUALENV=true

3删除它或将其设置为false


4最后重新启动终端

注意@JCotton的建议很重要-保持pip设置以便只安装到VirtualNVS是一个很好的实践

他的解决方案是让virtualenv再次安装pip安装-升级pip-isolated,这正是应该做的

您不应该通过配置文件或编辑~/.bash\u rc或~/.bash\u配置文件来关闭要求安装项目pip包的virtualenv。我们之所以在这里这么做,是因为OP需要安装virtualenv本身


总的来说,我看到人们在他们的virtualenv没有正确地为他们的项目设置的时候收到了这个消息。提醒您,要使用自己的python和pip创建一个virtualenv,这样您就不会遇到“找不到激活的virtualenv”错误,请运行virtualenv-p python3

哪个版本的pip和python?python是2.7.4。而pip就是它里面的那个。谢谢您的提问。请尝试echo$PIP\u REQUIRE\u VIRTUALENV。事实上,export-PIP\u-RESPECT\u-VIRTUALENV=true行就在那里。所以我评论了一下。然后源代码再次运行该文件,但仍然无法运行。所以我打开了一个新的终端,现在它工作了。非常感谢。是的,我必须将其设置为false。对于遇到此问题的任何其他人:请注意原始问题中提到的PIP_尊敬_VIRTUALENV和PIP_REQUIRE_VIRTUALENV之间的差异,这是上面提到的解决方案。导致此错误的故障也可能由.bashrc中的其他设置调用,例如VirtualVWrapper_PYTHON。运行export-PIP\u REQUIRE\u VIRTUALENV=false,然后PIP卸载/安装VIRTUALENV在我的案例中起作用。这个文件也可以在~/.PIP/PIP.conf找到。这与当前接受的解决方案有何不同?它位于不同的文件上,这就是我发布它的原因。因为我在这里找不到指南,所以我希望能有一个关于上述建议的规范链接。我大体上同意virtualenv是编写应用程序的好主意。有时一个人不写项目*。比如说,它是一个单行程序,或者一些小的、一次性的测试用例。在这些情况下,Virtualenv只是让人讨厌,而且会造成阻碍,特别是当pyyaml之类的东西默认不存在时。但是,也许我做错了?一直在寻求提升我的知识。另请参阅关于~/.pip/pip.conf的另一个答案。e nEnvironment将覆盖pip.conf设置,但是如果需要更改行为,最好在源代码处更改它。
syspip(){
    PIP_REQUIRE_VIRTUALENV="" pip "$@"
}
[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true
[global]
index=https://pypi.python.org/simple/

require-virtualenv=false