Error message for virtualenvwrapper on OS X Lion

空扰寡人 提交于 2019-12-06 17:58:52

问题


I've used homebrew to install python on a new Mac Lion installation, and have been trying to install virtualenv and virtualenvwrapper with pip, but when I start a new terminal session, I get this traceback:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named virtualenvwrapper.hook_loader
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.

The python and pip used are from homebrew, but it seems to want me to use Apple's default python. I get the following

~$ which python | xargs ls -l
lrwxr-xr-x  1 beard  admin  33 Jun 24 16:11 /usr/local/bin/python -> ../Cellar/python/2.7.3/bin/python
~$ echo $VIRTUALENVWRAPPER_PYTHON
/usr/local/bin/python
~$ which pip | xargs ls -l
-rwxr-xr-x  1 beard  admin  301 Jun 24 16:18 /usr/local/share/python/pip
~$ which virtualenvwrapper.sh | xargs ls -l
-rwxr-xr-x  1 beard  admin  32227 Jun 24 16:19 /usr/local/share/python/virtualenvwrapper.sh

However, it seems to think that I've installed pip (and virtualenv) with the system python in /usr/bin/python

Edit: In my bashrc--

export WORKON_HOME="$HOME/py-env"
export VIRTUALENVWRAPPER_LOG_DIR="$HOME/py-env"
export VIRTUALENVWRAPPER_HOOK_DIR="$HOME/py-env"
source /usr/local/share/python/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON="/usr/local/bin/python"

回答1:


Since you have your own version of python, have you tried overriding VIRTUALENVWRAPPER_PYTHON? (It looks like you want export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python) The virtualenvwrapper docs suggest setting that envvar to the desired python before sourcing virtualenvwrapper.sh. Their example has:

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh



回答2:


Add or change path into ~/.bash_profile for virtualenvwrapper.sh to /usr/local/share/python/virtualenvwrapper.sh

it should look like

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/share/python/virtualenvwrapper.sh



回答3:


I ran into similar problems with Hombrew-installed Python conflicting with the system-installed Python under OS X Lion. I was never able to correct the problem using Homebrew. However, when I switched to using pythonbrew (https://github.com/utahta/pythonbrew) to manage my installed Pythons (instead of Homebrew), I was able to run virtualenvwrapper successfully.




回答4:


If your using PythonBrew & VirtualEnvBurrito with ZSH shell, make sure you check out your .zprofile - this contains some commands to execute the VirtualEnvBurrito startup script. As .zprofile is loaded before .zshrc the Python version is the system one. This will also throw up this error.



来源:https://stackoverflow.com/questions/11199360/error-message-for-virtualenvwrapper-on-os-x-lion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!