Подтвердить что ты не робот

Сообщение об ошибке для 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"
4b9b3361

Ответ 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 является системной. Это также вызовет эту ошибку.