Aquí hay una guía completa: http://wikemacs.org/wiki/Python Enumera soluciones listas para usar (el kit de inicio Prelude , Spacemacs, soluciones para ciencia de datos , ...), grandes paquetes útiles (Elpy), también como cada paquete que necesita para mejorar su entorno. Aquí hay una descripción general .
Refactorización
Esta es la característica más "específica de IDE". Emacs como algunas posibilidades gracias a la biblioteca Rope python. Resulta que la forma más fácil de instalar y usar es el paquete emacs-traad , en MELPA. Cuenta, entre otros:
- cambiar la firma de un método: agregar / eliminar un argumento, con refactorización entre proyectos (por supuesto),
- renombrar cualquier cosa,
- encontrar definiciones, ...
La cuerda también está incluida en Elpy.
Manipulación de código más simple
Tenemos herramientas más simples para ayudar a refactorizar o manipular código: http://wikemacs.org/wiki/Python#Other_Python_.22refactoring.22_tools
Por ejemplo, Projectile es genial (ver otras respuestas), también tenemos una herramienta para agregar decoradores , agregar / eliminar / editar argumentos , renombrar / copiar / comentar / eliminar un método, una herramienta para la generación de código, ...
Código de navegación
Podemos navegar como un IDE con etiquetas y cscope: encontrar las funciones que llaman a esta, buscar ocurrencias, etc.
Emacs también tiene excelentes paquetes como imenu (helm-imenu), helm-swoop (grep interactivo en un búfer), emacs-helm-ag (buscador de plata interactivo en un proyecto), etc.
Ejecutando pruebas
Es Elpy que proporciona un buen soporte para ejecutar pruebas (con el django runner, elpy u otro). Incluso podemos ejecutar solo la prueba de unidad en la que nos encontramos actualmente: ¡muy útil! Entonces, hay una Hydra para ayudar con eso (ciclo entre los errores, cambie al indicador de Python ...).
Hacer apoyo
Este es un paquete de Emacs no específico para Python. Pero me gusta poder ejecutar un objetivo de creación desde cualquier parte del proyecto y elegir el comando de creación con finalización . enlazar
Tratando con la sangría
Hay un pequeño paquete, indent-tools , que proporciona comandos para trabajar directamente con un bloque sangrado: pasar al siguiente bloque de sangría padre-hijo anterior, sangrar / deindent / comment / copy / kill / fold el bloque actual , Perfecto para yaml, y también para Python. Doc y gif de demostración
Soporte Django
Ver Django . Elpy es compatible con el corredor django. Ver elpy django doc . django-mode (en melpa) tiene resaltado de plantillas, comandos rápidos, finalización de comandos de administración , ...
También importante: excelente soporte para Git, Github y Gitlab
magithub puede crear relaciones públicas de github, podemos buscar problemas e insertar su referencia en los mensajes de confirmación, magit es genial, ... ver http://wikemacs.org/wiki/Git