jueves, 30 de noviembre de 2006

Django

Django es un marco de trabajo para python que leído mencionar en muchas ocasiones. Supuse que podría llegar a serme útil, ya que me he clavado en serio con este lenguaje de programación, y decidí probarlo.

Instalando Django para windows XP:

http://www.djangoproject.com/

Parece que es una buena idea utilizarlo con una base de datos. Decidí utilizarlo con una vieja instalación que tengo de mysql, sólo que me faltó algo:

http://sourceforge.net/projects/mysql-python


Bueno, pero no podría estar utilizando la laptop para todos estos experimentos. ¿Qué tal mejor en Linux (Fedora 5)?

Para compilar cualquier cosa que dependa de otra, como en mi caso, postgres, se necesita un paquete "devel", (compilar django requiere postgres-devel):

ftp://ftp.is.co.za/mirror/fedora.redhat.com/linux/core/5/i386/os/Fedora/RPMS/postgresql-devel-8.1.3-1.i386.rpm

Además psycopg. Psycopg sirve para acceder postgres a través de python, pero resulta que django apenas va en la versión 1, siendo que ya hay una versión 2 estable. Incluyo la liga al sitio de donde se puede obtener la dos:

http://www.initd.org/pub/software/psycopg/

En teoría, también se puede obtener de ahí la versión 1, pero no la pude compilar porque no encontraba las cabeceras de postgres (y yo que las acababa de instalar :( ... solución). Pero me pasaron las siguientes sugerencias:

Bajar el rpm (no tuve que recurrir a ésta):

http://mirror.linux.duke.edu/pub/fedora/linux/extras/5/i386/python-psycopg-1.1.21-4.fc5.i386.rpm

¡O utilizar el poderoso yum!

[]$ yum --enablerepo=extras install python-psycopg

[Julio 2007] Las nuevas versiones de Django ya usan psycopg2, para usar yum hay que especificar eso, además, en fedora 7 ya no existe extras:

[]$ yum install python-psycopg2

Si se quiere instalar psycopg en Windows, se usa un win-psycopg, que a su vez requiere eGenix.

Otro problema que puede aparecer es el error siguiente al tratar de sincronizar con la base de datos:
No module named DateTime
La solución viene en los faqs de psycopg.

Como ya tenía extras activado, no utilcé la bandera, pero la incluyo por completez, pues el paquete se encuentra precisamente en extras.

Para utilizarlo con fast-cgi es necesario instalar flup. Con easy_install flup, python se encarga. Los detalles de la configuración se encuentran en How to use Django with FastCGI.

No hay comentarios.: