El Blog de Trespams

Blog personal sobre tecnologia, gestió de projectes i coses que se me passen pel cap

Python i Eclipse

Aquests dies estic aprenent a fer anar el Django i he esta provant quins dels entorns de desenvolupament s'adapten millor per a aconseguir el que vull, a saber:

  • Possibilitat d'establir variables d'entorn. Django les necessita per les utilitats d'administració.
  • Possibilitat de canviar el PYTHONPATH
  • Resaltat de sintaxis per Python
  • Autocompletat per Python
  • CVS o subversion integrat
  • Integració del depurador de Python

Encara que no hem de predre mai de vista que un IDE sols ens deixa fer el que està preparat per fer, i per això cal no oblidar-se de les eines especialitzades de consola (cvs, diff, vim, grep, bash,...) quan l'ocasió ho requereix, sí que es veritat que per un tant per cent molt elevat d'ocasions un bon IDE marca la diferència entre un desenvolupador que fa feina "a gust" i un altre que no ho fa. I fer feina a gust vol dir sovint ser més productiu, ja ho sabeu!

En la meva recerca he trobat i provat alguns entorns que estan molt bé:

Sense oblidar quelcom més senzill com vim o kate, que encara que no estan tan especialitzats com els altres en les tasques pròpies de la programació tenen els avantantges de la seva ubiqüitat el primer i de la combinació de potència d'edició i plugins del segon.

El nostre estil de feina o la configuració de la nostra màquina ens determinarà l'IDE de desenvolupament. Per màquines amb relativament poca potència o memòria la millor opció per desenvolupar amb Python és l'Eric o bé el vim. L'Eric ens proporciona una bona gestió de projectes, un editor avançat basat amb Scintilla, eines de control de versions (no massa intuitives, tot hi ha que dir-ho) i depurador integrat a l'IDE. Està més orientat a fer aplicacions gràfiques basades amb les Qt que aplicacions de consola o web, però es pot utilitzar perfectament per aquestes tasques.

Els altres possible candidats per màquines amb poc recursos són drpython i spe. El primer és un editor especialitzat amb Python i poc més. El segón va un poc més enllà i duu integrades un grapat d'eines relacionades amb la programació d'interfícies gràfiques per les Wx així com un depurador, llistes de tasques, etc. Cap dels dos integra control de versions ni gestió de projectes.

Per màquines amb molta potència de processador i memòria la meva recomanació és anar cap a Eclipse amb el plugin PyDev. Amb aquesta combinació tenim un editor potent, refactorització de codi (fa servir les mateixes llibreries que Eric), control de errors (pylint), resaltat de sintaxi, depurador integrat, autocompletat de codi que funciona! i a més aprofita la potència d'Eclipse per tasques com la gestió de projectes i el control de versions. Li falta la creació d'un mode de perspectiva propi que amagui les opcions sols aplicables a Java, creació directe d'arxius i projectes Python (no està massa enfora, però), integració de la consola Python i un equivalent a la consola de javadoc per Python. A part d'això i creieu-me que es pot viure perfectament sense, la combinació és excel·lent. A més com Eclipse té un mòdul per afegir eines externes molt potent, que permet definir variables d'entorn, passar paràmetres basats en els projectes actius i executar tasques en segon pla.

Amb Eclipse i PyDev he pogut crear tasques per les accions més comuns d'un projecte Django, el que m'evita tenir que anar a la consola i configurar les variables d'entorn. Encara que les poguem posar al .bashrc és un incordi quan tenim més d'un projecte en marxa. Les eines externes d'Eclipse permeten definir les variables d'entorn de Django referides al projecte i això fa que la feina sigui molt més senzilla. A més l'execució de tasques en segon pla fa que poguem executar el servidor de desenvolupament per Django directament des de l'IDE i veure'n els logs. Es pot demanar més?

blog comments powered by Disqus