2008-10-01 15 views
34

Recientemente comencé a aprender Emacs. Revisé el tutorial, leí algunos artículos introductorios, hasta ahora, todo bien.Emacs y Python

Ahora quiero usarlo para el desarrollo de Python. Por lo que entiendo, hay dos modos de Python separados para Emacs: python-mode.el, que es parte del proyecto de Python; y python.el, que es parte de Emacs 22.

He leído toda la información que pude encontrar, pero la mayoría parece bastante anticuada y todavía estoy confundido.

Las preguntas:

  1. ¿Cuál es su diferencia?
  2. ¿Qué modo debo instalar y usar?
  3. ¿Hay otros complementos de Emacs que sean esenciales para el desarrollo de Python?

enlaces pertinentes:

+0

Utilicé Emacs durante 2 años, pero leer y escribir Python en Emacs sigue siendo una pesadilla para mí.La configuración compleja de cuerda, cuerda, pirámides ... me vuelve loco. Entonces, personalmente, recomiendo Eclipse + pydev. – Wilbeibi

Respuesta

20

Si está usando GNU Emacs 21 o antes, o XEmacs, el uso python-mode.el. El GNU Emacs 22 python.el no funcionará en ellos. En GNU Emacs 22, python.el funciona, y se relaciona mejor con el propio análisis y finalización de símbolos de GNU Emacs, ElDoc, etc. Yo uso XEmacs yo mismo, así que no lo uso, y he escuchado a personas quejarse de que no lo hizo No funciona muy bien en el pasado, pero hay actualizaciones disponibles que solucionan algunos de los problemas (por ejemplo, en la página de emacswiki que enlaza), y es de esperar que algunos se hayan integrado anteriormente. Si yo fuera el tipo de GNU Emacs, usaría python.el hasta que encontrara razones específicas para no hacerlo.

El único problema más grande de python-mode.el hasta ahora es que no comprende las cadenas de comillas triples. Los trata como comillas simples, lo que significa que una sola comilla dentro de una cadena de comillas triples arrojará el resaltado de sintaxis: pensará que la cadena ha terminado allí. Es posible que también deba cambiar su lista de modos automáticos para activar el modo python para archivos .py; No recuerdo si ese sigue siendo el caso, pero mi init.el ha estado configurando auto-mode-alist desde hace muchos años.

En cuanto a otros complementos, nada que yo considere 'esencial'. El menú de funciones de XEmacs a veces es útil, le da un pequeño menú de navegador de función/clase para el archivo actual. No recuerdo si GNU Emacs tiene algo similar. Tengo un primer modo para la edición reStructuredText, como se usa en algunos proyectos. Contar con cualquier VC que utilice, en su caso, puede ser útil para usted, pero existe compatibilidad integrada para la mayoría de los archivos .el que se descargan fácilmente para los demás.

+2

Como usuario de GNU emacs 22 (en Windows). Secundo esto. python-mode.el realmente no te compra nada (aunque funciona). La única razón real para usar python-mode.el podría ser hacer que ipython funcione en emacs, sin embargo, esto no parece funcionar bien en Windows, desafortunadamente. En Unix, YMMV .... –

8

This site tiene una descripción de cómo completar el código de Python en Emacs. Ropemacs es una forma de hacer que Rope funcione en emacs. No he tenido una gran experiencia con ninguno, pero vale la pena investigarlo.

+1

Utilizo el ropemacs (aunque no es la versión más avanzada), es bastante fácil de instalar y usar según las instrucciones. –

+1

Acabo de probar los ropemacs y puedo estar de acuerdo con los otros comentaristas :) rope + ropemode + ropemacs == awesome. Una buena entrada en el blog sobre el desarrollo de python con emacs btw .: http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/ sigue siendo una buena referencia, incluso si es un poco anticuado – tr9sh

7

Dado el número de veces que tengo varios búferes abiertos todos llamados __init__.py, considero que la biblioteca uniquify es esencial para el desarrollo de python.

Pyflakes también ayuda a la productividad.