I am trying to instal virtualenv and/or virtualenvwrapper on a mac osx 10.8.3
I have been fighting with python for the last two days. Finally I was able to install python 2.7.4 using brew. Before I had virtualenv installed using easy_install. Then I tried to uninstall it, trying to get my computer in the same situation as the one of my colleagues. Maybe I uninstalled it with success, maybe not. I don't know how to test it. Now I am supposed to install virtualenv using -
pip install virtualenv
But it gives me -
Could not find an activated virtualenv (required).
pip install virtualenvwrapper
gives exactly the same output.
Also the variable: PIP_RESPECT_VIRTUALENV
is null:
echo $PIP_RESPECT_VIRTUALENV
How can I solve this issue?
Thanks
Open your ~/.bashrc
file and see if this line is there -
export PIP_REQUIRE_VIRTUALENV=true
It might be causing the trouble. If it's there, change it to false
and run -
source ~/.bashrc
If not, run export PIP_REQUIRE_VIRTUALENV=false
from terminal.
@Bibhas has it; +1 to look for export PIP_REQUIRE_VIRTUALENV=true
in ~/.profile
or ~/.bashrc
. You can confirm the setting in your current shell with env |grep PIP_REQUIRE_VIRTUALENV
.
This setting is a good safety check; more often than not, you'll want to be installing things into virtualenvs. However, sometimes you do want to be working with the global/system python. In those cases, take a look at --isolated:
Run pip in an isolated mode, ignoring environment variables and user configuration.
$ 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
...
An additional solution to those already presented is to add a shell command that will allow you to install py packages by temporarily overriding the default setting. Add this to your ~/.profile
, ~/.bashrc
or wherever you maintain your shell's exports/settings (in my case, ~/.zshrc
).
syspip(){
PIP_REQUIRE_VIRTUALENV="" pip "$@"
}
With this simple addition, you can install pip packages to the system via syspip install <package>
.
Verify contents of ~/.pip/pip.conf like:
[global]
index=https://pypi.python.org/simple/
require-virtualenv=false
if previous it was set like require-virtualenv=true
Another place where you may possibly have this "lock" is the pip.conf
file. In my case I had one in my ~/Library/Application Support/pip
folder and forgot about it.
Typical content of the file could be:
[install]
require-virtualenv = true
[uninstall]
require-virtualenv = true
Similar to other answers, false
should be changed to true
in the file.