1. Instalar Python
Existen varias implementaciones distintas de Python: CPython, Jython, IronPython, PyPy, etc…
CPython es la más utilizada, la más rápida y la más madura. Cuando la gente habla de Python normalmente se refiere a esta implementación.
En este caso tanto el intérprete como los módulos están escritos en C. Jython es la implementación en Java de Python, mientras que IronPython es su contrapartida en C# (.NET). Su interés estriba en que utilizando estas implementaciones se pueden utilizar todas las librerías disponibles para los programadores de Java y .NET.
PyPy, por último, como habréis adivinado por el nombre, se trata de una implementación en Python de Python.
CPython está instalado por defecto en la mayor parte de las distribuciones Linux y en las últimas versiones de Mac OS (entre la que se encuentra Leopard). Para comprobar si está instalado abre una terminal y escribe python. Si está instalado se iniciará la consola interactiva de Python y obtendremos parecido a lo siguiente:

2. Instalar Django
Abrimos una sesión de terminal, creamos un directorio temporal donde alojaremos los ficheros de instalación de Django y entramos en el mismo.
mkdir django_install && cd django_install
Obtenemos la última versión estable de Django:
wget http://www.djangoproject.com/download/1.0.2/tarball/
Debemos tener en cuenta que wget no viene instalado por defecto en OS X, si quieres instalarlo aqui explican como hacerlo, si no deseas instalarlo, puedes bajar directamente el fichero de la pagina oficial.
Descomprimimos el fichero en el directorio antes creado y entramos en él:
tar zxvf Django-1.0.2-final.tar.gz && cd Django-1.0.2-final
Y lanzamos el instalador de Django:
sudo python setup.py install
Esto instalará Django en el directorio site-packages de Python.
Para comprobar que ha sido instalado correctamente, abrimos la consola interactiva de Python y escribimos:
>>> import django >>> django.VERSION
Y debemos obtener algo como esto:

3. Instalar PostgreSQL
Puesto que necesitamos bases de datos para nuestras aplicaciones, tenemos que instalar un servidor de bases de datos, para ellos instalaremos PostgreSQL, que es un motor 100% libre y muy robusto. Nos dirigimos a la pagina oficial:
http://www.postgresql.org/download/macosx
Y descargamos el paquete (en el momento de escribir este post, la version era la 8.4.0). Hacemos click en el paquete y arrastramos la aplicación al menu Aplicaciones, cuando ejecutemos el fichero (probablemente tengamos que reiniciar el equipo) comenzará el proceso de instalación. Durante el proceso de instalación, le indicaremos el directorio de instalación, el directorio de datos, la contraseña para el superusuario, el puerto al que servidor debe escuchar (por defecto), la configuración regional (seleccionaremos es_ES) y listo.
4. Instalar PhppgAdmin
PhppgAdmin, es una herramienta web de administración de bases de datos PostgreSQL, es muy sencillo de instalar y utilizar, si estas acostumbrado a PhpmyAdmin, es muy similiar. Para instalarlo, tan solo tienes que dirigirte a su web oficial
http://phppgadmin.sourceforge.net/
Descargar el fichero y descomprimirlo en la carpeta root del servidor web. Podras acceder a la aplicación, desde la ruta http://localhost/phpPgAdmin/
Es posible, que tengas problemas para acceder con el usuario root (que para el caso de postgresql, es postgres), porque en estas ultimas versiones se ha deshabilitado el acceso. No obstante, y dado que vamos a trabajar en local, podemos habilitar el acceso root, tan solo modificando el fichero config.inc.php, situado en la carpeta config, localizamos la linea:
$conf['extra_login_security'] = true;
Y la sustituimos por esta:
$conf['extra_login_security'] = false;
De todos modos, insisto en que esto es peligroso y lo recomendable, es crear un usuario nuevo (desde la consola de postgresql: psql en terminal).
5. Instalamos la libreria Python PostgreSQL
Para establecer las conexiones entre la base de datos y Django necesitamos una libreria adicional denominada psycopg 2.
Para instalarla la libreria, podemos acceder a terminal y escribir:
sudo easy_install psycopg2
Si esto no funciona, tendremos que descargarnos el paquete desde aqui, modificamos la linea:
pg_config=/Library/PostgreSQL/8.4/bin/pg_config
Para indicarle la ruta donde esta PostgreSQL.
Luego compilamos e instalamos el paquete, desde terminal:
python setup.py build python setup.py install
NOTA: Es posible que necesitemos instalar el compilador GCC, si obtenemos un mensaje de error cuando intentemos compilar el paquete, nos dirigimos a http://developer.apple.com/technology/Xcode.html y desde alli, previo registro en el ADC Membership de Apple, podremos descargar XCode, donde se incluye el compilador GCC.
6. Comprobamos que todo funciona
Creamos un proyecto en Django y arrancamos el servidor de desarrollo que incluye, para ver si funciona correctamente:
mkdir django_projects cd ~/django_projects django-admin.py startproject mi_proyecto cd mi_proyecto python manage.py runserver
Accedemos a la dirección http://127.0.0.1:8000 y si todo ha ido bien, podremos ver la pantalla de bienvenida de Django:

Ahora comprobaremos la conexión con la base de datos, para ello accedemos primeramente a phpPgAdmin y creamos una base de datos que se llame prueba.
Seguidamente, editamos la configuración de la base de datos en el fichero settings.py que se encuentra dentro del directorio mi_proyecto, debe quedar asi:
DATABASE_ENGINE = 'postgresql_psycopg2' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'prueba' # Or path to database file if using sqlite3.
DATABASE_USER = 'postgres' # Not used with sqlite3.
DATABASE_PASSWORD = 'contraseña' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
Ahora abrimos una ventana de terminal, y nos situamos en el directorio mi_proyecto, y escribimos:
python manage.py shell >>> from django.db import connection >>> cursor = connection.cursor()
Si no pasa nada, significa que la base de datos está configurada correctamente.
Enviar un comentario