Эмакс:Pymacs не загружает веревочные машины с помощью Carbon Emacs
Вопрос
Я пытаюсь использовать Pymacs с веревкой/веремаком для проверки синтаксиса 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.
Спасибо!
Решение
Скорее всего, это проблема пути.Когда вы запускаете 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
.Если вам нужно установить пакеты в Python MacPorts, убедитесь, что вы установили и используете easy_install
экземпляр для него и не использовать экземпляр, поставляемый Apple, в /usr/bin
:
$ sudo port install py26-setuptools
$ /opt/local/bin/easy_install-2.6 <package>