问题
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
回答1:
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.
Note: everything works the same if you have .bash_profile
instead of .bashrc
in your current user's root directory.
回答2:
@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
...
回答3:
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>
.
回答4:
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
回答5:
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.
回答6:
for matchbook you must go to '.bash_profile '
1) open with your favorite editor in terminal
nano .bash_profile OR vim .bash_profile
2) find the text line that says
export PIP_REQUIRE_VIRTUALENV=true
3) delete it or set it equal to "false"
4) finally restart your terminal
回答7:
Important to heed @JCotton's advice here-- keeping your pip setup so as to only install into virtualenvs is a great practice.
His solution to get virtualenv setup again of pip install --upgrade pip --isolated
is exactly what should be done.
You should NOT turn off requiring a virtualenv, either by config file or by editing ~/.bash_rc or ~/.bash_profile, to get your project's pip packages installed. We're only doing it here because OP needs virtualenv itself installed.
In general, I see people get this message when their virtualenv wasn't setup correctly for their project in the first place. Reminder that to create a virtualenv with its own python and pip so that you don't run into the "could not find an activated virtualenv" error, you run virtualenv -p python3
来源:https://stackoverflow.com/questions/16460313/pip-could-not-find-an-activated-virtualenv-required