Entradas

Installing Zoook on Ubuntu – Part II: Python and Django

1 Install Python

The default Python interpreter on Ubuntu 11.10 is 2.7.2. To verify that this is the version on your system execute:

$ python

This should return something like the following:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/python_version.png

Find out the version of your Python installation.

The message indicates that the version 2.7.2 is installed.

To exit the Python interpreter execute a

>>> quit()

In the rare case that there is no Python on your system, install it via

$ sudo apt-get install python

2 Install Django

Install all dependencies needed by Django:

$ sudo apt-get install python-dev python-psycopg2

You can install Django in three different ways:

  1. via the package management system of your distribution,
  2. fetching the latest stable version from the website, or
  3. download the development version from their repositories.

2.1 Installation via the package management system

The installation via the package management system is as simple as

$ sudo apt-get install python-django

2.2 Installing the last stable version from the website

Surf to the download section of the Django site and check for the latest stable version. That was 1.3.1 as of this writing (8th of February 2012).

$ cd ~
$ tar xvzf Django-1.3.1.tar.gz
$ mv Django-1.3.1 django-src

This way you’ll find the source code in the directory ~/django-src. The next step is to pass this information to Python. Locate the site-packages of your Python installation:

$ python -c "from distutils.sysconfig import get_python_lib; 
 print get_python_lib()"

This should return something like the following:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/site-packages.png

Locate the site-packages of your Python installation.

which indicates that your site-package directory is /usr/lib/python2.7/dist-packages. In this directory you’ll have to add the route to the Django sources:

$ echo '/home/roberto/django-src' | sudo tee -a 
 /usr/lib/python2.7/dist-packages/django.pth

This creates the file /usr/lib/python2.7/dist-packages/django.pth with the path to your Django installation.

To make a live a bit more comfortable, create a symbolic link to django-admin.py:

$ sudo ln -s /home/roberto/django-src/django/bin/django-admin.py 
 /usr/local/bin

This way you can use django-admin.py in every place of the file system instead of executing the script by its absolute path ~/django-src/django/bin/django-admin.py.

3 Verify the installation

Check that Python can find the Django modules:

$ python
>>> import django
>>> print django.get_version()

This should return something like:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/python-django-verification.png

Check that Python finds Django.

This indicates that Python detected Django in its 1.3.1 version.

3.1 Create a Django test project

We are going to create a Django test page in order to verify that everything is working fine. At first create a new directory for this:

$ mkdir ~/django-projects
$ cd ~/django-projects

In this case the directory is located in the home directory of the user and has the name django-projects. Now, create a test project in this category:

$ django-admin.py startproject testdjango

Change to the directory of the project and start the Django server:

$ cd testdjango
$ python manage.py runserver

This should return something like:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/testdjango_launched.png

Successfully started Django server.

The server started up correctly and is waiting for connections on port 8000 (http://127.0.0.1:8000/). When navigating your browser to this direction you should see a site like this:

http://www.domatix.com/http://www.domatix.com/wp-content/uploads/django-testproject_ok.png

Djangos start page.

Now, we could create a database in PostgreSQL and verify the connection with the project. But, given the aim of this article (install Zoook) we’re going into the details of the database access when configuring Zoook.

Instalación de Tryton en Ubuntu 11.10

Instalando desde el gestor de paquetes todas las dependencias se instalarán automáticamente al instalar el paquete tryton-server. Así para empezar lo único que habrá que hacer es ejecutar la siguiente orden:

apt-get install tryton-server

Nota: Si el sistema tiene un usuario llamado tryton dará un error al instalar el paquete.

Una vez instalado habrá que configurar el servidor, los pasos a seguir para configurarlo los puedes encontrar en

/usr/share/doc/tryton-server/README.Debian

Lo primero es comprobar que el motor de base de datos se ha instalado y se está ejecutando correctamente. En ubuntu 11.10 la versión de PostgreSQL que se instala es 9.1, para recargarlo se puede ejecutar el siguiente comando:

sudo su postgres -c "/etc/init.d/postgresql reload"

Lo ejecutamos como el usuario postgres pero lanzando como root, ya que por defecto no conocemos la contraseña del usuario postgres, esto se puede hacer de muchas formas pero creo que esta es la mas comoda.

Si todo ha ido bien devolverá el siguiente mensaje.

capturas_openerp

Lo siguiente será crear el usuario de base de datos:

su - postgres -c "createuser --createdb --no-createrole --no-superuser --pwprompt tryton"

Este comando nos pedirá introducir la nueva contraseña para este usuario, habrá que guardar esta contraseña ya que será necesaria para la configuración del servidor.

En el fichero /etc/trytond.conf tenemos la configuración del servidor, en la siguiente imágen se ve la configuración de la base de datos para el usuario tryton, con contraseña tryton, funcionando en 192.168.0.122 y con el puerto 5432, el puerto por defecto que utiliza postgresql.

capturas_openerp

Si se utiliza otro usuario distinto a tryton o se utiliza otro nombre de usuario se tendrá que indicar en ese fichero de configuración, por defecto en este fichero para el usuario tryton aparecerá ‘db_user = tryton’.

Con esto ya está el servidor configurado y se puede reiniciar ejecutando:

sudo /etc/init.d/tryton-server restart

La creación de la base de datos para empezar a trabajar se puede crear desde el mismo cliente de tryton, pero también se puede crear desde la consola con estos comandos:

sudo su - postgres -c "createdb --encoding=UNICODE --owner=tryton tryton"
sudo /usr/bin/trytond -i all -d tryton

Al final pedirá una contraseña para el usuario administrador de esa base de datos.

Si se quiere instalar todos los módulos, para tenerlos disponibles en el servido se puede hacer instalando el paquete tryton-modules-all

sudo apt-get install tryton-modules-all

y habrá que reiniciar el servidor

sudo /etc/init.d/tryton-server restart

Para instalar el cliente en otra maquina con ubuntu se puede hacer con

sudo apt-get install tryton-client

y para lanzar el cliente

tryton-client

Para conectarnos a la base de datos que hemos creado antes habrá que indicar la dirección del server, el puerto, que por defecto para json será 8000 y para netrpc será 8070, y se cargará la lista de la base de datos. Accederemos con el usuario admin y la contraseña que hayamos indicado al crear la base de datos

Instalar Zoook en Ubuntu – Parte II: Python y Django

2.- Instalar Django

Django puede instalarse de tres formas:

  1. Usar los sistemas de distribución de paquetes de algunas distribuciones (como Ubuntu).
  2. Descargar la versión estable desde su web.
  3. Descargar la última versión en desarrollo desde repositorios.

En el momento de escribir este artículo la versión estable de los repositorios de Ubuntu coincide con la versión estable descargable por la web. Instalar la última versión desde los repositorios de Ubuntu es tan sencillo como:

sydo apt-get install python-django

Ahora se detallará el proceso a seguir para instalar la última versión estable en caso de no estar disponible a través de repositorios de Ubuntu.

En primer lugar hay que ir a la sección de descargas de la web de Django y descargar la última versión estable/oficial de Django. En el momento de escribir este artículo la versión era la 1.3.1 y el archivo descargado es Django-1.3.1.tar.gz

Suponiendo que se ha descargado el archivo en la carpeta de usuario estos serían los pasos para generar el directorio en el que se almacenará el código fuente de Django:

cd ~
tar xvzf Django-1.3.1.tar.gz
mv Django-1.3.1 django-src

De esta forma la carpeta que contendrá el código fuente de Django queda situada en:

/home/roberto/django-src

Con la carpeta de Django preparada el siguiente paso es informarle a Python de dónde la hemos generado. Para eso, a su vez, hay que buscar dónde están los site-packages de Python.

Averiguar dónde están los site-packages de Python:

python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"

Nos devolverá algo como:

Tutorial

que indica que en este caso el directorio de los site-packages es: /usr/lib/python2.7/dist-packages

Dentro de ese directorio hay que agregar la ruta a la carpeta con el código fuente de Django.

Para agregar la ruta a Django:

echo '/home/roberto/django-src' | sudo tee -a /usr/lib/python2.7/dist-packages/django.pth

eso creará un archivo /usr/lib/python2.7/dist-packages/django.pth en cuyo interior queda almacenada la ruta de acceso a Django.

A continuación crear enlace simbólico a django-admin.py para facilitar su uso:

sudo ln -s /home/roberto/django-src/django/bin/django-admin.py /usr/local/bin

 De este modo se puede usar django-admin.py desde cualquier carpeta en lugar de tener que usar /home/roberto/django-src/django/bin/django-admin.py

3.- Verificar instalación

Comprobar que Python es capaz de encontrar Django:

python
>>> import django
>>> print django.get_version()

Que devolverá algo como:

Tutorial

que indica que Python ha detectado y conectado correctamente con la versión 1.3.1 de Django que hay en el sistema.

La siguiente verificación será crear el primer proyecto de Django para verificar que la generación funciona.

Crear una carpeta para almacenar los proyectos de Django y acceder a ella:

mkdir /home/roberto/django-projects
cd /home/roberto/django-projects

En este caso la carpeta se ha creado en el home del usuario con el nombre “django-projects” pero no es necesario que sea así. En su lugar podría haberse usado, por ejemplo, la carpeta workspace que usa Eclipse.

Crear el proyecto de prueba en la carpeta:

django-admin.py startproject testdjango

Acceder al proyecto y lanzar el servidor Django integrado:

cd testdjango
python manage.py runserver

que devuelve algo como:

  Tutorial

El servidor ha arrancado correctamente y está esperando conexiones locales en el puerto 8000 ( http://127.0.0.1:8000 ). Al abrir el navegador en la ruta indicada por el mensaje debería aparecer:

  Tutorial

El proyecto ha cargado correctamente y es accesible desde el navegador. Ahora se podría crear una base de datos en PostgreSQL y comprobar la conectividad con el proyecto pero dada la finalidad de este artículo ( instalar Zoook ) el acceso a base de datos se detallará más adelante al configurar Zoook.