lunes, diciembre 12, 2005

Herramientas para Python

Por estos días que he estado trabajando bastante en DeStar, estuve buscando algún buen IDE para programar en Python. Hasta ahora he estado programando con JEdit, un excelente editor de textos que poco tiene que envidiarle a Emacs o Vim y que es muy fácil de usar. La combinación de JEdit con gnome-terminal, Pdb y PyLint es bastante cómoda, sin embargo, quería probar algo un poco más integrado, así que me decidí a probar Pydev. PyDev es un plugin para el maravilloso Eclipse, el cual, por cierto, funciona perfectamente bajo GCJ, la implementación libre de Java.

PyDev tiene características bastante impresionantes:

  • Resaltado de sintaxis, explorador de clases y resaltado de errores. Bueno, esto es lo básico de todo IDE. Siendo Python un lenguaje dinámico, el resaltado de errores se hace utilizando PyLint. PyLint es bastante impresionante y configurable, puede detectar errores que van desde un objeto no declarado hasta prácticas feas de programación como líneas muy largas o nombres de variable muy cortos.
  • Code Completion, que no es más que el clásico asistente que ayuda sugiriendo qué se puede colocar digamos después de un punto. Muy útil a la hora de recordar nombres de métodos.
    Eclipse Screenshot with PyDev
  • Integración con Bicycle Repair Man, la herramienta para refactorizar código en Python. Esta si que es una gran característica que no había podido usar con JEdit. Por más que exista el HyperSearch y todo, este tipo de herramientas agilizan mucho las cosas.
    Eclipse Screenshot with PyDev
  • Depurador gráfico. Esta si que es una de las mejores características. Sé que Pdb es bastante fácil de usar, pero la verdad es que, a la hora de depurar, no hay nada como tener una buena perspectiva gráfica de todo lo que esta sucediendo. El depurador fue la principal razón que tuve para buscar un IDE y la verdad es que Eclispe con PyDev hacen un excelente trabajo en ese sentido.
    Eclipse Screenshot with PyDev
  • Integración con Subversion. Bueno, esto no es de PyDev, sino más bien de Subclipse, el plugin de Subversion para Eclispe. La integración es muy buena, cada cambio en la copia local con respecto al repositorio se muestra con algún icono, casi como tener un "svn st" en tiempo real. Por otra parte, todos los comandos usuales en SVN tienen su equivalente gráfico.
    Eclipse Screenshot with PyDev

Desafortunadamente no todo es perfecto. PyDev tiene algunos problemas que pueden llegar a ser molestos. Por una parte, PyDev no tiene soporte para PTL, el lenguaje de plantillas de Quixote, es decir que toca decirle a PyDev que maneje los archivos PTL como archivos normales de Python; aunque el depurador funciona bien para los PTLs, otras características como PyLint y el explorador de clases no lo hacen bien (En JEdit en cambio si funcionaba gracias al plugin Code Browser). Algo similar pasa con los archivos que tienen extensión diferente a ".py", solo que en este caso simplemente no funciona nada, la única solución que he encontrado en este caso es renombrar los archivos temporalmente.

También he probado otras alternativas como JPyDebug, un plugin de Python para JEdit que agrega funciones de depuración, PyLint y explorador de clases, pero desafortunadamente este plugin sólo funcionaba cuando quería y decidí quitarlo. En fin, creo que probaré con PyDev por un tiempo y si no me gusta seguiré con el cómodo JEdit + Consola.

En resumidas cuentas: Eclipse + PyDev + Subclipse hacen un gran equipo

1 Comentarios:

A la/s 7:02 a. m., Anonymous Anónimo dijo...

No sé si has probado o conoces Stani's Python Editor (SPE), que a mi me gusta bastante. La dirección (la pongo tal cual, no sé si admite blogger la etiqueta de enlaces o lo consideraría spam) es http://www.stani.be/python/spe

 

Publicar un comentario

Suscribirse a Comentarios de la entrada [Atom]

<< Página Principal