Pymacs не запускается на Emacs24 Carbon

Я следовал инструкциям EnigmaCurry для настройки хорошей среды разработки Python в emacs. Я не следовал дословно, поскольку в emacs24 немного изменился, и я интенсивно использую настройщик для установки параметров. В любом случае, когда я настраивал flymake, я столкнулся с проблемой, из-за которой у Carbon Emacs нет той же переменной PATH, что и у моей оболочки, которую я исправил этим.

Я подозреваю, что нечто подобное происходит с pymacs. Запуская emacs, я получаю эту ошибку:

error: Pymacs helper did not start within 30 seconds

Осматривая *Pymacs* буфер, отмечу:

ImportError: No module named Pymacs

В моем каталоге site-packages находятся переменные PATH и PYTHONPATH, но, похоже, emacs переопределяет PYTHONPATH. Для иллюстрации, если я наберу python -c "import sys; print sys.path" в оболочке я получаю:

['', '/usr/local/Cellar/python/2.7.2/ ... *snip* ]

Но если я сделаю то же самое в Emacs через M-! python -c "import sys; print sys.path" [RET], Я получил:

['', '/usr/local/share/python',
     '/System/Library/Frameworks/Python.framework/Versions/2.6/ ... *snip* ]

IIUC, это означает, что emacs выбирает фабричную среду Python для Mac по умолчанию, в дополнение к правильному выбору моей созданной вручную переменной оболочки PYTHONPATH (второй элемент списка). Тем не менее, Pymacs не может быть найден.

Я поставил python-python-command в python2.7 хотя правильный питон опережает этот путь. То есть, python --version в оболочке - 2.7, но в emacs - 2.6.

Я использую последнюю версию углеродного emacs24, установленную с помощью homebrew.

1 ответ

Решение

Обновленное решение

Если вы работаете в Mac OS X, лучше всего отредактировать /etc/path файл, как описано в этом вопросе суперпользователя и мой собственный. Если ваши симптомы похожи, я бы сначала попробовал это решение.

Оригинальное решение

При написании этого вопроса я нашел решение, которое сработало для меня. Для моей настройки, не изменяя ни python-python-command ни py-python-command исправил проблему.

Документация Pymacs предполагает, что установка переменной PYMACS_PYTHON обычно не нужна, но когда я использовал (setenv "PYMACS_PYTHON" "python2.7") в моем файле инициализации, это очистило эту ошибку.

Я все еще работаю над несколькими другими сбоями, но эта часть кажется решенной.

Другие вопросы по тегам