sábado, 5 de septiembre de 2015

Desempolvando Django (1)

Hace como 3 años que no toco una línea de código Python, y, teniendo en cuenta que estuve una buena temporada trabajando como desarrollador Django, se me cae un poco la cara de vergüenza de estar tan oxidado.

Como estoy un poco cansado del ecosistema PHP, voy a ponerme de deberes para este curso que empieza volver a ser competente en Django.

Empezamos con lo más básico, la instalación. La forma fácil (y poco práctica en un entorno profesional) es bajarse el zip o tgz y darle al setup.py, o, peor todavía, usar la versión que nuestro gestor de paquetes nos proporciona (por ejemplo, apt-get install django).

En el momento de escribir esto, la versión en curso de Django es 1.8.4, y la forma recomendada de instalación es con pip.

Personalmente, recuerdo que es muy cómodo usar virtualenv para desarrollar Python, nos libramos de problemas con diferentes versiones, podemos probar actualizaciones en cada virtualenv, etc.

Suponiendo que tenemos ya instaladas las utilidades virtualenv y pip, allá vamos:

  1. Creamos un virtualenv con Python 3:
    yo@home:~/Desarrollo$ virtualenv --python=python3 django1.8.4

    Esto crea un virtualenv con Python3 en el directorio "django1.8.4"

  2. A continuación, nos metemos en el directorio recién creado y activamos el virtualenv:
    yo@home:~/Desarrollo$ cd django1.8.4/
    yo@home:~/Desarrollo/django1.8.4$ source bin/activate


  3. Instalamos Django ya con el virtualenv activado:
    (django1.8.4)yo@home:~/Desarrollo/django1.8.4$ pip install Django==1.8.4

    Vemos que nos queda Django sólo instalado para este entorno:
    (django1.8.4)yo@home:~/Desarrollo/django1.8.4$ ls lib/python3.4/site-packages/
    django Django-1.8.4.dist-info ...

    Con esto ya tenemos montado el virtualenv con una instalación propia de Python 3 y Django 1.8.4, sin afectar a la instalación que haya en el sistema.

  4. Con este entorno activado ya podemos salir del directorio donde hemos instalado el virtualenv y crear el proyecto Django en cualquier otro directorio. Procedemos de la forma habitual, con un startproject y comprobando que se crea el manage.py y el directorio para el código del proyecto:
    (django1.8.4)yo@home:~/Desarrollo/django1.8.4$ cd ..
    (django1.8.4)yo@home:~/Desarrollo$ django-admin startproject marcadores
    (django1.8.4)yo@home:~/Desarrollo$ cd marcadores/
    (django1.8.4)yo@home:~/Desarrollo/marcadores$ ls
    manage.py  marcadores


  5. Nos puede surgir la duda... pero si yo ahora invoco Python... ¿cuál estaré usando? Respuesta: si estamos con el virtualenv activado, será el que tenemos en nuestro directorio virtualenv:
    (django1.8.4)yo@home:~/Desarrollo/marcadores$ which python 
    /home/yo/Desarrollo/django1.8.4/bin/python

    Si desactivamos el virtualenv, volvemos al intérprete por defecto instalado en el sistema:
    (django1.8.4)yo@home:~/Desarrollo/marcadores$ deactivate
    yo@home:~/Desarrollo/marcadores$ which python
    /usr/bin/python



Por ahora ya hemos preparado el entorno. En la siguiente sesión, empezaremos a programar.