Сообщение об ошибке для virtualenvwrapper на OS X Lion
Я использовал homebrew для установки python на новую установку Mac Lion и пытался установить virtualenv и virtualenvwrapper с помощью pip, но когда я начинаю новый сеанс терминала, я получаю эту трассировку:
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.
Питон и пип используются из доморощенного, но, похоже, я хочу использовать Apple python по умолчанию. Я получаю следующее
~$ 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
Однако кажется, что я установил pip (и virtualenv) с системным python в /usr/bin/python
Изменить: В моем 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
Поскольку у вас есть ваша собственная версия python, вы пробовали переопределить VIRTUALENVWRAPPER_PYTHON? (Похоже, вы хотите export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
) Документы virtualenvwrapper предлагают установить этот envvar на желаемый питон перед поиском virtualenvwrapper.sh. Их пример:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
Ответ 2
Добавить или изменить путь в ~/.bash_profile для virtualenvwrapper.sh
к /usr/local/share/python/virtualenvwrapper.sh
он должен выглядеть как
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/share/python/virtualenvwrapper.sh
Ответ 3
У меня возникли аналогичные проблемы с установленным Hombrew Python, конфликтующим с системным Python под OS X Lion. Я никогда не мог исправить проблему с помощью Homebrew. Однако, когда я переключился на использование pythonbrew (https://github.com/utahta/pythonbrew) для управления моими установленными Pythons (вместо Homebrew), я смог успешно запустить virtualenvwrapper.
Ответ 4
Если вы используете PythonBrew и VirtualEnvBurrito с оболочкой ZSH, убедитесь, что вы проверили свой .zprofile - в нем содержатся некоторые команды для запуска запуска VirtualEnvBurrito script. Поскольку .zprofile загружается до .zshrc, версия Python является системной. Это также вызовет эту ошибку.