Puede que algunos leyerais ya mi anterior artículo “Aprendiendo a programar Python en Linux” e incluso que os sirviera de algo. Pues bien, estos días he desempolvado el Python para programar el algoritmo del Simplex para Investigación Operativa.
Para ello tenía que recordar el poco Python que sé y después encontrar un IDE más completo que PyDev. Digamos que mi relación con Eclipse ha terminado como el rosario de la Aurora.

EL PYTHON PERDIDO

Asi fue como encontré la página “Python 2.5 Quick Reference” de Richard Gruet que me vino genial, ya que recopila para la última versión de Python las funciones, técnicas, sintaxis y demás historias que puedas necesitar para empezar con Python. Así pues el primer paso estaba salvado y con éxito. Además si no sabes programar Python, pero si algún otro lenguaje puedes arriesgarte y no leerte un libro entero.

La segunda misión era algo más complicada. Sabía perfectamente que hay infinidad de IDEs para Python. De todos estos probé nuevos: eric, Komodo IDE, PIDA, SPE y WingIde. Me llevaría bastante tiempo analizarlos a fondo y ni mucho menos los probé como para hacer un review de cada uno.

COMIENZA LA BÚSQUEDA

Eric:
Simplemente diré que eric tiene demasiados menús en una GUI escasamente intuitiva y que además algunas funciones que considero claves no es capaz de hacerlas.

sudo apt-get install eric

PIDA:
Me gusta su filosofía de conseguir una herramienta potente sin reinventar la rueda, utilizando componentes ampliamente desarrollados y usados por la Comunidad. Sin embargo, resultó bastante difícil empezar con él. Es un proyecto que tiene mucho por hacer todavía y le faltan opciones importantes en un IDE. Eso sí, la posibilidad de usar vim para editar es su mejor baza, para un fan de vim como yo.

sudo apt-get install pida

SPE:
El Stani’s Python Editor es un editor interesante, que integra wxGlade (diseñador de GUIs libre para WxPython). No es una mala opción, pero el debugger y la interfaz no me convencieron del todo.

sudo apt-get install spe

WingIde:
Este es para muchos el mejor IDE de Python que hay. Es un IDE comercial que dispone de 3 versiones, la 101 es gratuita sin embargo carece de las funcionalidades que interesan. La versión personal es asequible (30 y pico dolares), mientras que la Professional está fuera de presupuesto. Probé la Enterprise Free Trial de 10 días. La impresión es buena, tiene todas las características que buscaba en un principio, pero me pareció excesivo y algo cargado.
Cabe destacar que si estás trabajando en un proyecto de Software Libre con algún release hecha, tienes un formulario para pedir una licencia gratuita para la versión Profesional.

Web de Wingware

DOS INVITADOS DE HONOR

Aunque nos los probé estrictamente en esta ocasión sino que los conozco desde hace poco no pueden faltar en este batiburrillo de IDES: pyshell e ipython.

Pyshell lo conocí a través del blog de Marcelo Ramos en este artículo que detalla sus bondades y nos muestran una potente pero sencilla interfaz, que recuerda al IDLE de siempre pero con más fuerza.

Ipython es la shell de Python que siempre quisiste tener, tiene autocompletado, coloreado, funciones extra que lo convierten en toda una navaja suiza que no debe faltar tampoco.

sudo apt-get install ipython

ENCONTRANDO EL IDE PERDIDO, KOMODO

El lector más observador se habrá percatado ya de que Komodo no ha aparecido en el anterior listado, ¡acertaste!
Debo decir que este IDE me ha fascinado un poco.
Es una herramienta potente, sencilla, rápida, intuitiva, que además consume pocos recursos al lado de muchas otras. Algunos estaréis pensando que es comercial y no os falta razón. Sobre esto se puede decir que la versión 4.2.1 tiene un desorbitado precio de 295$.
Yo estuve probando la versión de prueba y quedé encantado. Komodo IDE cubre tanto el desarrollo de aplicaciones para el Desktop, como para platarformas Web. Autocompleta deprisa, tiene una interfaz sencilla y clara, un debugger bastante majo, cantidad de utilidades para depurar y probar aplicaciones web…

LA ALTERNATIVA LIBRE, OPENKOMODO

Pero si me ha gustado tanto Komodo es porque recientemente ha liberado parte de su editor. Komodo está adoptando una estrategia cada día más común en el desarrollo de aplicaciones cercanas al mundo de Linux. Consiste en tener una versión comercial que se sustenta en un proyecto libre al que añade funciones y mejoras, y del que toma ideas, progresos y correcciones. Todo son ventajas y dependiendo de la licencia, es posible la aparición de otras aplicaciones en competencia directa, reportando al usuario un constante desarrollo y avance.

El caso es que el proyecto se llama Open Komodo, mientras que la aplicación que se construye se llama Komodo Edit. Esta aplicación que actualmente se encuentra en la versión 4 es solamente el editor de textos. Lo que supone un buen syntax highlighting, autocompletion, autoindentation y vi emulation. Pero no os preocupéis podremos hacerle algún que otro hack para hormonarlo: para ejecutar la aplicación o debugearla. Las diferencias teóricas son:

Komodo Edit vs Komodo IDE

1.- Lo primero es bajárselo de aquí.

Una vez bajado el tar.gz lo descomprimimos. Desde shell es:

tar xzf Komodo-IDE*.tar.gz

2.- Ejecutamos el script install.sh y respondemos donde queremos que se instale, por defecto en /home

./install.sh

3.- Nos crea un icono en el escritorio, desde allí podremos ejecutarlo. También es recomendable hacer un link simbólico para que el programa esté en el PATH o ruta, como se muestra en el mensaje de éxito de la instalación.

Komodo Edit on Steroids

En este videotutorial de Bestechvideos del que ya hablé se explica como añadir al menú una opción de ejecución para Ruby on Rails y que se ejecute siempre que se pulse F5. El proceso es idéntico para Python, pero cambiando Ruby por Python.

%(python) %F

Una vez que sepáis añadir comandos (no olvidéis ojear la ayuda de shortcuts), podréis añadir casi cualquier script de shell para ejecutar. El límite ahora es la imaginación:

– Contar palabras del fichero
– Comentar líneas del fichero
– Extraer documentación de funciones
– Utilizar un sistema de control de versiones: CVS, SVN…
….

Ahora falta añadir un debugger. No va a ser tan “gráfico” como el de la versión de pago, pero bastará y nos permitirá acostumbrarnos a usar el debugger de Python a mano (por si algún día no tenemos nuestro preciado IDE). Para ello en nuestro código bastan con añadir pydb. Para aprender (en inglés) a usarlo:

Manual para principiantes. Muy sencillito
Manual avanzado de 7 páginas

Con todo esto habremos conseguido un IDE potente, que no llega a serlo tanto como la versión comercial, pero con el que se puede programar y depurar cómodo. Espero que te animes a probarlos todos y darme tu opinión o trucos al respecto. Cualquier corrección o mejora que se os ocurra será bien recibida.

Nos vemos

Technorati Tags:

menefante.gif meneame ico_delicious.gif del.icio