我正在尝试在mac osx 10.8.3上安装virtualenv和/或virtualenvwrapper
过去两天我一直在和python战斗。最后我能够使用brew安装python 2.7.4。在使用easy_install安装virtualenv之前。然后我尝试卸载它,试图使我的计算机与我的同事一样。也许我成功地卸载了它,也许不是。我不知道如何测试它。现在我应该使用 -
安装virtualenvpip install virtualenv
但它给了我 -
Could not find an activated virtualenv (required).
pip install virtualenvwrapper
给出完全相同的输出。
变量:PIP_RESPECT_VIRTUALENV
也为空:
echo $PIP_RESPECT_VIRTUALENV
我该如何解决这个问题?
由于
答案 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