Вопрос
Почему $ mkvirtualenv test
использует системный python (v2.7.6) вместо brew-ed python (2.7.8) и как мне настроить virtualenvwrapper для использования нужного python?
Настройка системы
Я использую OS X 10.9.5 с домашней установкой python (v2.7.8). У меня есть общесистемная установка virtualenv и virtualenvwrapper. Моя оболочка - это ZSH через oh-my-zsh с использованием плагина virtualenvwrapper (хотя я пытался вручную вытащить плагин и найти virtualenvwrapper.sh, и я получаю такое же поведение).
Демо
Это 2.7.8 - интерпретатор Python, который я получаю из оболочки.
$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin
$ which python
/usr/local/bin/python
$ python
Python 2.7.8 (default, Aug 24 2014, 21:26:19)
...
У меня есть следующая среда, установленная в верхней части моего .zshrc (до того, как будет получен файл virtualenvwrapper), и я сопоставил их все с выводом $ printenv
, чтобы подтвердить, что они устанавливаются правильно.
export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin"
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Projects/Python
# this is the location shown above to be v2.7.8
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
export PIP_DOWNLOAD_CACHE=$HOME/.pip/download_cache
export PIP_VIRTUALENV_BASE=$WORKON_HOME
Несмотря на правильный $PATH и явное переопределение для использования интерпретатора python, я знаю, что это версия 2.7.8, любой mkproject получает системный python по умолчанию:
$ mkvirtualenv test
....
(test)$ python
Python 2.7.6 (default, Mar 18 2014, 15:05:23)
...
Обходной путь
Я нашел приводящую в бешенство (в том смысле, что кажется, что это ничего не меняет, но ничего не делает) обходной путь
$ mkvirtualenv -p `which python` test
...
(test)$ python
Python 2.7.8 (default, Aug 24 2014, 21:26:19)
...
Так почему же эти переменные среды не используются, несмотря на то, что они установлены, и у них есть явная возможность работать, как показано в обходном пути ??
/usr/bin/python
, что может объяснить вашу проблему. Может быть, попробовать удалить это и переустановить через brew? - person Daniel Roseman   schedule 22.09.2014