51

我正在尝试在 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

我该如何解决这个问题?

谢谢

4

7 回答 7

111

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

export PIP_REQUIRE_VIRTUALENV=true

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

source ~/.bashrc

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

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

于 2013-05-09T11:17:41.723 回答
8

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

这个设置是一个很好的安全检查;通常,您会希望将东西安装到 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
...
于 2015-05-28T19:21:40.313 回答
6

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

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

通过这个简单的添加,您可以通过syspip install <package>.

于 2015-12-06T00:04:30.507 回答
4

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

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

require-virtualenv=false

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

于 2018-11-20T05:03:18.037 回答
1

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

他重新设置 virtualenv 的解决方案pip install --upgrade pip --isolated正是应该做的。

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

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

于 2019-08-10T19:12:17.763 回答
1

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

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

[install]
require-virtualenv = true

[uninstall]
require-virtualenv = true

与其他答案类似,falsetrue在文件中更改为。

于 2018-09-10T15:43:46.387 回答
-1

火柴盒你必须去'.bash_profile'

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

纳米 .bash_profile 或 vim .bash_profile

2)找到说的文本行

导出 PIP_REQUIRE_VIRTUALENV=true

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

4)最后重启你的终端

于 2019-04-12T15:16:46.590 回答