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.
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:
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: python ide eric pida spe wingide ipython pyshell komodo

ViKToR Comenta:
December 13th, 2007 a las 7:46 pm
jejeje, genial el articulo tio, es el empujoncito que necesitaba para inciarme con Python
Zootropo Comenta:
December 14th, 2007 a las 5:31 pm
Echa un vistazo a Eclipse con el plugin de desarrollo en Python (Pydev)
Miguel Comenta:
December 16th, 2007 a las 1:34 am
ViKToR:Gracias por tus comentarios, me animan mucho. Bueno pues no dudes en mirartelo a fondo, yo últimamente no dejo de hablar bien de él.
Zootropo: Gracias por el consejo, pero al principio del artículo ya comento que Pydev y yo no nos llevamos nada bien. Aunque en el artículo sobre “Aprender Python” que cito al principio le hice bastante promoción, porque en sí no deja de ser un buen IDE.
Saludos
Zootropo Comenta:
December 16th, 2007 a las 12:19 pm
Vaya, que tontería.
Me salté la introducción y me fui directo a las opiniones que tenías de cada IDE
¿Qué problemas te dio?
Miguel Comenta:
December 16th, 2007 a las 1:17 pm
Tranqui, no importa.
La verdad es que me harté de él porque nunca encuentro la opción que busco, la interfaz no me parece demasiada intuitiva. Además mi pequeño portátil se está haciendo mayor y no da a basto con Eclipse.
A veces me ha dado problemas con el UTF-8 y la indentación. El IDE me muestra la indentación correcta pero en el fichero real al abrirlo con vim el cuadre no es correcto.
El autocompletado funciona como le da la gana y el debugger no me convence. En resumen, no nos llevamos.
Me alegro de que te pases por aquí Raúl, es un honor. Te leo a diario desde hace un montón.
Un saludo
pamchi Comenta:
January 14th, 2008 a las 7:40 am
Que tal, he seguido los pasos que has mencionado solo que he hecho un par de cambios, luego de extraer del tar.gz los archivos he ejecutado ./install.sh pero como sudo
sudo ./install.sh
y le he dicho que guarde los archivos en /var/komodo
con esto me ha agregado al menu Aplicaciones–> Programación el acceso directo al programa…
Saludos…
pamchi Comenta:
January 14th, 2008 a las 8:10 am
Otra cuestión es que tienes mal copiado el comando para ejecutar con “f5″, te hacen falta las comillas
%(python) “%F”
Me ha dado un pequeño dolor de cabeza esas comillas, pero mil gracias por el tutorial, me anima a seguir con python
Miguel Comenta:
January 14th, 2008 a las 11:46 am
Muchas gracias pamchi por la corrección y el apunte. Siento que te diera problemas, se me debió escapar poner las comillas. Mucho ánimo con el Python que ya verás como al final no puedes vivir sin él. Para cualquier duda que tengas me dejas un comentario o me mandas un mail.
Un saludo
pamchi Comenta:
January 15th, 2008 a las 2:07 pm
Se agradece por el apoyo
pamchi Comenta:
January 15th, 2008 a las 2:09 pm
Tengo mi primer pregunta, porque no utilizar eclipse con su plugin para python, yo lo estoy instalando porque komodo se traba cuando le pongo a ejecutar algunas instrucciones pe: x = input(”hola”) :s
Miguel Comenta:
January 16th, 2008 a las 10:41 am
No hay de qué panchi. Vaya, qué extraño porque yo no he tenido ningún problema con Komodo hasta la fecha.
A mi pydev no me gusta nada, las razones se las di a otro usuario en el comentario #5. Sin embargo, hay mucha gente que está acostumbrada a usar eclipse y que lo encuentra agradable, cómodo y práctico. Ya me contarás.
Un saludo
piponazo Comenta:
January 23rd, 2008 a las 1:21 am
Excelente artículo ahora mismo voy a probar este IDE. Espero que me fascine como a ti, ya que también adoro vim al igual que tu comentas jeje
Miguel Comenta:
January 23rd, 2008 a las 4:52 pm
¡Genial piponazo! espero que te guste aunque verás como vim es más VI que vim. Por cierto, me he alegrado de que aparecieras por aquí, encontré tu blog hace un par de semanas y lo estoy leyendo a fondo, aunque aún no te haya podido dejar un comentario, y es que estoy liado con los exámenes.
Un saludo
JQu Comenta:
January 28th, 2008 a las 5:49 am
Hola Miguel.
Yo estoy aún desempacado tanto en asuntos de programación como en el software libre. Uso Debian exclusivamente en mi PC personal y, como no, Win XP en el trabajo. Estoy muy interesado en Python, ya le estoy metiendo mano, pero no he salido todavía del modo consola original. Yo busco un IDE que lo pueda usar de igual manera en GNU/Linux como en Windows, pues quiero hacer algunas apliaciones para ayudarme en mis labores. Eclipse fue la gran primera opción, pero no consigo configurar pydev; Boa-Constructor fue la segunda, pero no me trama mucho… ¿Tendrías la amabilidad, Miguel, de darme tú una sugerencia para la tercera opción teniendo en cuenta la prioridad multiplataforma? Gracias.
Miguel Comenta:
January 28th, 2008 a las 11:00 am
Pues JQu,
Después de este artículo, creo que queda claro que yo uso Komodo (la versión comercial). Estoy muy contento con este IDE y no creo que vaya a cambiar de momento. Yo te la recomiendo. Por si acaso te interesa aprender a configurar pydev tienes información en este otro artículo que escribí, cuando pydev y yo nos llevábamos.
http://infolinux.wordpress.com/2007/09/09/how-to-aprendiendo-a-programar-python-en-linux/
En fin, que recuerda que no existe el IDE perfecto, sino el IDE que más se adapte a ti. Mucha suerte,
Un saludo y no hay de qué
JQu Comenta:
January 28th, 2008 a las 1:49 pm
Gracias MIguel, no sabía que Komodo tenía versión también Windows, aunque voy a probar primero configurar primero el pydev con tu guía… y espero que yo si me lleve bien con él
… si no, te sigo los pasos con Komodo.
Y bien compartir sus conocimientos…
frddbarrios Comenta:
June 5th, 2008 a las 10:50 pm
He buscado mucho, sin ningún resultado positivo, un buen IDE con editor visual de GUIs con autogeneración de código GTK+ (PyGTK) para Python,
He leído este blog (muy bueno) y quiero preguntar si en su búsqueda del IDE perdido para Python se topo con uno con las característica que yo busco.
Gracias de antemano.
P.D.: Por favor no incluir Glade debido a que no es un IDE y que el código que genera es XML.
Miguel Comenta:
June 6th, 2008 a las 5:01 pm
Pues verás. Yo finalmente utilizo qtDesigner 4 y luego genero el código, que edito con Komodo. La filosofía de IDEs en Linux, consiste en eso, en separar el diseño de la programación, para hacerlas independientes, que es como debe ser.
Glade sí que te puede servir, pero te costará adaptarte y las librerías no están demasiado documentadas, en esto gana Qt y eso que soy de Gnome. Glade tiene una opción para generar el código de la interfaz en Python. El XML del que hablas es el diseño de la interfaz en sí, es la manera que tiene Glade de guardar la interfaz que has diseñado para que puedas cambiarla o editarla en otro momento. Ten cuidado y no confundas los dos temas.
Si te interesa, hay bastante gente que usa Eric, creo recordar, hablo de memoria, para GTK+. Aunque a mí Eric y su interfaz no me convencían nada.
Muchas gracias por tu opinión sobre el blog. Espero que te haya servido de algo mi respuesta. De todos modos, hace tiempo que no programo.
Un saludo,