问题
After upgrading to OSX Mavericks, I am getting this message in the terminal:
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenv has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.
回答1:
Try reinstalling pip and then reinstalling virtualenvwrapper (I had to go through these steps after upgrading to Mavericks):
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenvwrapper
回答2:
Re-arrange the export order so that the python
path is placed before the virtualenv
commands in your .bash_profile
file.
# python path
export PATH=/usr/local/bin:$PATH
# needed for virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
回答3:
Try edit .bash_profile file
# Home brew
export PATH=/usr/local/bin:$PATH
# virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
回答4:
I wouldn't recommend running pip with sudo. This was my solution for the same problem (after upgrading to Mavericks).
In essence, uninstall any virtualenv and brewed Python you had before (use which <command>
to check that you removed everything except the system Python in /usr/bin/python
) and cleanly install them once again:
brew install python --with-brewed-openssl
# Open a new terminal tab now (to access /usr/local/bin/python)
pip install virtualenv
pip install virtualenvwrapper
回答5:
pip install --upgrade virtualenvwrapper
will fix the issue but never used sudo pip
this will change system-wide. If pip throws permission errors without sudo
then you should fix those and then try only with pip install <--upgrade> $(package)
.
I rather suggest install homebrew
and then install pip
using brew install pip
which will install latest stable version of pip for you.
Install homebrew and then run
brew doctor
. If there are any warnings fix those(actually brew will tell you how to fixed those).You may need to remove system-wide python comes with Mac and use
brew
to install required versions. Use this to remove system-wide python- Use
brew install python
or/andbrew install python3
to install required python version/s. Finaly run
pip install --upgrade virtualenvwrapper
Now on never use
sudo pip
only usepip
.
回答6:
I had the same problem with MacOS High Sierra. I was able to fix it with these lines in my .bash_profile file:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Code
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
回答7:
Running these two commands helped me get rid of it (had done a software update on macOS High Sierra)
$ sudo easy_install pip
$ sudo pip install --upgrade virtualenvwrapper
回答8:
You just need to configure the path properly. Run the following commands in the terminal:
which python
Output -
/usr/bin/python
which virtualenvwrapper.sh
Output -
/usr/local/bin/virtualenvwrapper.sh
echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python
So as you can see that the variable $VIRTUALENVWRAPPER_PYTHON
is pointing towards the wrong python path. So we need to reset the path of variable $VIRTUALENVWRAPPER_PYTHON
.
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python
now run the following the command:
source /usr/local/bin/virtualenvwrapper.sh
来源:https://stackoverflow.com/questions/19549824/terminal-issue-with-virtualenvwrapper-after-mavericks-upgrade