Instalar Python 2.5 y TurboGears sobre Debian Etch

28 June, 2008

Por una de esas cosas del destino, me vi animado a crear una aplicación web para la visualización de los resultados de una investigación científica sobre bioquímica.

Durante un par de semanas estuve analizando el problema, creando la documentación necesaria, elaborando el mapa web, diseño de base de datos, scripts de creación de datos….

Y por último, elegir el framework que me iba a catapultar al mundo de los programadores RAD.

Después de un fin de semana evaluando entre PHP con CakePHP y Python con TurboGears, el ganador fué este último. En otro artículo explicaré los motivos, ahora, a la parte práctica.

Más después de la pausa.

Los requisitos de TurboGears son:

  • Linux, MacOSX o Windows
  • Python >= 2.4, pero lo ideal es utilizar el 2.5
  • 20-25Mb de espacio de disco

Para dar un par más de detalles, el sistema de producción donde estará instalada la aplicación web tiene una Debian Etch, però el desarrollo se lo he realizado sobre un MacOSX 10.5.

El tiempo ha pasado… y 18 días despúes de haber empazado, la aplicación está (casi) terminada! Y llega el momento de pasarlo a producción.

Los primeros problemas que he tenido con Debian Etch y mis especiales necesidades han sido:

  • Python: Con Etch viene instalado Python 2.4, y si instalas el paquete python2.5 no actualiza correctamente la versión por defecto del sistema. Es más, al ejecutar un pyversions -i ni siquiera la muestra.
  • TurboGears: Existe el paquete python-turbogears, pero instala la versión 1.0.4.0, y el desarrollo se había realizado para la versión 1.0.4.4. Así que tocará instalarlo a manija.

Así que manos a la obra!

Instalar Python 2.5 from source

  1. Obviamente, lo primero será descargar la última versión desde la página de descargas de python. Personalmente, tengo predilección por el bzipped tarball.
  2. Mientras se descarga podemos aprovechar para instalar las dependencias para compilar Python y poder instalar TurboGears más tarde:
    • build-essential: apt-get install build-essential
    • gcc, g++, libc6 y libc6-dev: apt-get install gcc g++ libc6 libc6-dev
    • zlib-bin, zlib1g y zlib1g-dev: apt-get install zlib-bin zlib1g zlib1g-dev
    • y la base de datos: apt-get install mysql-server-5.0, mysql-client-5.0 libmysqlclient15-dev
  3. Descomprimir el paquete descargado: tar xjvpf Python-2.5.2.tar.bz2
  4. Configurar, compilar e instalar: ./configure && make && make install
  5. Para asegurarnos de la correcta instalación borraremos el anterior softlink (rm /usr/bin/python) y crear una referencia a la nueva versión (ln -s /usr/local/bin/python /usr/bin/)
  6. Por último, comprovar la versión: python --version. Una ventaja que tiene instalar desde el código fuente es que el easy_install funcionará correctamente con la 2.5.

Instalar TurboGears

El proceso de instalación de TurboGears no resulta muy difícil, siempre y cuando tu servidor de producción no esté en una DMZ y con un buen adminstrador del firewall ;) (si este es tu caso pasate por la instalación sin conexión)

  1. Descargar el script de instalación de TurboGears, tgsetup.py
  2. Ejecutarlo: sudo python tgsetup.py. El sólo se encargará de descargar todas sus dependencias.
  3. Comprobar la instalación: si tg-admin info funciona, todo ha ido genial!
  4. Instalar todos los complementos necesarios/que queramos:
    • easy_install SQLObject mysql-python PlotKit
    • easy_install Scriptaculous TGPaginate ToscaWidgets

Solucionando errores

Algunos de los error que he tenido que solucionar son:

  • zipimport.ZipImportError: can't decompress data; zlib not available al ejecutar el python tgsetup.py – Cuando has compilado Python no tenías instaladas las librerías de zlib. Instalalas y vuelve a compilar, no sirvo sólo instalar.
  • configure: error: C compiler cannot create executables al ejecutar el ./configure – Necesitas tener instalado el paquete libc6-dev

Y volià! Ya nos podemos dedicar a preparar un quickstart de TurboGears para pasar un buen rato creando un wiki en 20 minutos.

Salut!

Entry Filed under: yo tb programo, yo tb soy libre. Tags: , , .

2 Comments Add your own

  • 1. lechuman  |  28 June, 2008 at 11:34 pm

    Mientras yo hago entradas sobre como pierdo los papeles o frases celebres tu me dejas este peazo de post, con lo que todo el mundo saca la conclusión que no hago nada.

    Sóc un perro!

    Reply
  • 2. shinjix  |  29 June, 2008 at 1:52 am

    Jajajajjaja té menos valor del que sembla! Diguem que este post no és “gratuït” :P

    Reply

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Category Cloud

General yo tb #!@%&¡¿ yo tb estudio yo tb filosofo yo tb frikeo yo tb miro yo tb programo yo tb soy libre

Yo tb flickeo

huevo

yoshi

bloque interrogante

Huevo yoshi

More Photos

Blog Stats

Feeds

Posts Más Vistos