Ошибки Virtualenvwrapper в Mac OS X Lion - PullRequest
8 голосов
/ 04 августа 2011

Я только что обновил свой Mac со Snow Leopard до Lion. Затем мне нужно было установить virtualenv и virtualenvwrapper. Я использовал для обоих easy_install. Я также добавил настройки virtualenvwrapper в мой файл .bash_profile следующим образом:

# virtualenvwrapper settings
export WORKON_HOME="~/virtualenvs"
source "/usr/local/bin/virtualenvwrapper.sh"

Но при поиске я получаю следующую ошибку:

ERROR: Could not create temporary file name. Make sure TMPDIR is set.
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=/Library/Frameworks/Python.framework/Versions/2.7/bin/python and that PATH is set properly.

Спасибо всем за помощь.

Ответы [ 2 ]

13 голосов
/ 04 августа 2011

Поскольку /Library/Frameworks/Python.framework/Versions/2.7/bin/python - это путь к отдельно установленному Python 2.7 (возможно, из установщика python.org), а не к поставляемому Apple Python 2.7 (/usr/bin/python2.7), необходимо убедиться, что вы используете easy_install для этого отдельного Python или перейдите на использование Python от Apple. Чтобы сделать одно из этих действий, вы должны убедиться, что ваша переменная PATH оболочки верна. В первом случае вы сможете установить easy_install, выполнив следующие действия:

cd /tmp
curl -O http://python-distribute.org/distribute_setup.py
sudo $VIRTUALENVWRAPPER_PYTHON distribute_setup.py

Вы можете исправить PATH вашей оболочки, добавив в нее каталог bin структуры. Если вы используете bash, можно добавить эту строку в ~/.bash_profile:

export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"

Затем откройте новый сеанс терминала. Теперь вы должны найти, что easy_install, который вы только что установили, является правильным:

$ which easy_install
/Library/Frameworks/Python.framework/Versions/2.7/bin/easy_install
0 голосов
/ 04 августа 2011

У меня была похожая проблема, и я решил ее, экспортировав $ TMPDIR в более разумный путь, а не в случайное дерьмо, которое предпочитает Mac OS X.

$ grep TMPDIR ~/.env
export TMPDIR=/tmp/

$ source .env

и теперь virtualenvwrapper может создать его временныйфайлы в порядке.Короче говоря, просто добавьте export TMP=/tmp/whatever в файл конфигурации среды выполнения оболочки (например, для ZSH это ~/.zsh, для bash это ~/.bashrc).

...