Emacs: Pymacs не загружает ropemac с Carbon Emacs

Я пытаюсь использовать Pymacs с rope / ropemacs для проверки синтаксиса flymake, как описано здесь: http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/

Когда я запускаю Carbon Emacs "нормально", он выдает ошибку:

ошибка: Pymacs загрузка ropemacs ... не удалось

У меня это работало на OSX 10.5 с Carbon Emacs, но оно не работает в 10.6. Однако он работает при загрузке «терминальных» emacs, Aquamacs или если я открываю Carbon Emacs из командной строки с помощью «/Applications/Emacs.app/Contents/MacOS/Emacs». Я предполагаю, что это какая-то ошибка пути, но я не могу понять это, хоть убей.

Моя установка - OSX 10.6.2, и я использую macports python 2.6.4.

Спасибо!


person moorej    schedule 13.12.2009    source источник


Ответы (1)


Скорее всего, это проблема пути. Когда вы запускаете emacs из терминала, ваша переменная среды PATH предположительно включает каталог bin MacPorts /opt/local/bin, потому что, вероятно, вы изменили один из ваших профилей оболочки, вероятно .bash_profile, чтобы включить этот каталог в PATH.

Но когда вы запускаете приложение напрямую (двойным щелчком), оболочка не участвует, поэтому по умолчанию /opt/local/bin не включается в переменную процесса PATH. В зависимости от того, как Pymacs и др. Вызывают python, скорее всего, в итоге получится поставляемый Apple python2.6 (python или /usr/bin/env python). Если вы можете выяснить, где он вызывает python, вы можете изменить его на абсолютный путь, например /opt/local/bin/python2.6.

Если вы не можете понять, как это сделать, возможно, вы сможете обойти проблему, изменив файл plist внутри пакета Carbon Emacs.app, включив ключ LSEnvironment с правильным значением для PATH. Или вы можете создать определение среды для всего пользователя для PATH в ~/.MacOSX/environment.plist. Оба варианта описаны здесь.

В противном случае вы можете попробовать установить Pymacs с Python 2.6.1, поставляемым Apple.

Кстати, в инструкции по установке в цитируемой вами ссылке используется easy_install. Если вам нужно установить пакеты в питон MacPorts, убедитесь, что вы установили и используете для него easy_install экземпляр, а не тот, который предоставлен Apple в /usr/bin:

$ sudo port install py26-setuptools
$ /opt/local/bin/easy_install-2.6 <package>
person Ned Deily    schedule 13.12.2009