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")
в моем файле инициализации, это очистило эту ошибку.
Я все еще работаю над несколькими другими сбоями, но эта часть кажется решенной.