martes, 10 de mayo de 2011

Como instalar/utilizar django sin privilegios de administrador

Hola!

Estoy tumbando mis primeros pinitos con Django y con solo bajarlo me consigo con el problema de que hay que tener privilegios de administrador para poder hacer la instalación del mismo. La verdad, este tipo de cosas no me gusta hacerlas así que me senté un rato a ver si podía lograr utilizar Django sin necesidad de pasar por un administrador.

Cuando se extrae el contenido del tarball de django, tenemos algo como esto:
$ ls -l /home/antoranz/Downloads/Django/Django-1.3
total 72
-rw-r--r--  1 antoranz antoranz 19166 2011-03-21 20:38 AUTHORS
drwxr-xr-x 17 antoranz antoranz  4096 2011-05-09 09:16 django
drwxr-xr-x 14 antoranz antoranz  4096 2011-03-23 00:08 docs
drwxr-xr-x  2 antoranz antoranz  4096 2011-03-23 00:08 extras
-rw-r--r--  1 antoranz antoranz   592 2009-10-30 03:24 INSTALL
-rw-r--r--  1 antoranz antoranz  1558 2008-08-09 09:40 LICENSE
-rw-r--r--  1 antoranz antoranz  1494 2011-03-16 14:02 MANIFEST.in
-rw-r--r--  1 antoranz antoranz  1228 2011-03-23 00:08 PKG-INFO
-rw-r--r--  1 antoranz antoranz  1786 2011-01-28 17:07 README
drwxr-xr-x  2 antoranz antoranz  4096 2011-03-23 00:08 scripts
-rw-r--r--  1 antoranz antoranz   108 2010-08-05 08:00 setup.cfg
-rw-r--r--  1 antoranz antoranz  4325 2011-03-23 00:06 setup.py
drwxr-xr-x  5 antoranz antoranz  4096 2011-03-23 00:08 tests

Desde este directorio el administrador debe ejecutar el setup.py para hacer la instalación, pero evitemos hacer este paso.

Si tratamos de utilizar django en este punto con una aplicación ya comenzada:


$ python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 2, in
    from django.core.management import execute_manager
ImportError: No module named django.core.management
Qué tendremos que hacer  entonces para lograr que django sea "visible" para python? Debemos exportar la ruta del directorio incluido en el tarball dentro de la variable PYTHONPATH:

$ export PYTHONPATH=/home/antoranz/Downloads/Django/Django-1.3/
$ python manage.py runserver

Validating models...

0 errors found
Django version 1.3, using settings 'django1.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
De esa forma no se necesita la asistencia de un administrador para poder utilizar django.

PS Si se necesita ejecutar algunos de los otros scripts de administración de python (django-admin.py por ejemplo), incluir el directorio donde están estos scripts en el PATH y con eso queda resuelto.

No hay comentarios:

Publicar un comentario