Emacs и Python - PullRequest
       55

Emacs и Python

34 голосов
/ 01 октября 2008

Я недавно начал изучать Emacs . Я прошел учебник, прочитал несколько вводных статей, пока все хорошо.

Теперь я хочу использовать его для разработки на Python. Из того, что я понимаю, есть два отдельных режима Python для Emacs: python-mode.el, который является частью проекта Python; и python.el, который является частью Emacs 22.

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

Вопросы:

  1. В чем их разница?
  2. Какой режим мне установить и использовать?
  3. Существуют ли другие дополнения Emacs, которые необходимы для разработки на Python?

Соответствующие ссылки:

Ответы [ 3 ]

20 голосов
/ 01 октября 2008

Если вы используете GNU Emacs 21 или более раннюю версию или XEmacs, используйте python-mode.el. GNU Emacs 22 python.el не будет работать на них. В GNU Emacs 22 python.el работает и лучше связывается с собственным синтаксическим анализом и завершением символов в GNU Emacs, ElDoc и т. Д. Я сам использую XEmacs, поэтому я его не использую, и я слышал, что люди жалуются, что это не так. В прошлом это работало не очень хорошо, но есть обновления, которые исправляют некоторые проблемы (например, на странице emacswiki, на которую вы ссылаетесь), и вы бы надеялись, что некоторые из них уже интегрированы в апстрим. Если бы я относился к GNU Emacs, я бы использовал python.el, пока не нашел конкретных причин не делать этого.

Насколько я знаю, самой большой проблемой python-mode.el является то, что он не совсем понимает строки в тройных кавычках. Он обрабатывает их как одинарные кавычки, что означает, что одиночная кавычка внутри строки с тройными кавычками отбрасывает подсветку синтаксиса: она будет думать, что строка на этом закончилась. Вам также может понадобиться изменить свой автоматический режим-список, чтобы включить режим Python для файлов .py; Я не помню, так ли это до сих пор, но мой init.el уже много лет настраивает auto-mode-alist.

Что касается других аддонов, то я бы не посчитал «существенным». Функциональное меню XEmacs иногда полезно, оно дает вам небольшое меню функций / классов для текущего файла. Я не помню, есть ли в GNU Emacs что-нибудь подобное. У меня есть первый режим для редактирования reStructuredText, который используется в некоторых проектах. Привязка к любому VC, который вы используете, если таковой имеется, может быть полезна для вас, но есть встроенная поддержка большинства и легко загружаемых файлов .el для остальных.

8 голосов
/ 01 октября 2008

На этом сайте есть описание того, как получить завершение кода Python в Emacs. Ropemacs - это способ заставить Rope работать в emacs. У меня не было большого опыта с ними, но они заслуживают изучения.

7 голосов
/ 31 декабря 2010

Учитывая количество раз, когда у меня есть несколько открытых буферов, которые все называются __init__.py, я считаю, что библиотека uniquify необходима для разработки на python.

Pyflakes также способствует повышению производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...