python - elpy - emacs for windows
Emacs y Python (3)
Recientemente comencé a aprender Emacs . Revisé el tutorial, leí algunos artículos introductorios, hasta ahora, todo bien.
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.
Leí toda la información que pude encontrar, pero la mayoría parece bastante anticuada y todavía estoy confundido.
Las preguntas:
- ¿Cuál es su diferencia?
- ¿Qué modo debo instalar y usar?
- ¿Hay otros complementos de Emacs que sean esenciales para el desarrollo de Python?
Enlaces relevantes:
- EmacsEditor @ wiki.python.org
- PythonMode @ emacswiki.org
Si está usando GNU Emacs 21 o anteriores, o XEmacs, use 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 donde he visto es que no acaba de entender 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 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.
Este sitio tiene una descripción de cómo obtener el código de Python completado en Emacs. Ropemacs es una forma de hacer que Rope trabaje en emacs. No he tenido una gran experiencia con ninguno, pero vale la pena investigarlo.
Dado el número de veces que tengo varios búferes abiertos, todos llamados __init__.py
, considero que la biblioteca de uniquify es esencial para el desarrollo de python.
Pyflakes también ayuda a la productividad.