English Version

Mostrando entradas con la etiqueta easy_install. Mostrar todas las entradas
Mostrando entradas con la etiqueta easy_install. Mostrar todas las entradas

jueves, 16 de diciembre de 2010

Instalación de OpenERP - Segunda Parte (Cliente Gtk y cliente Web)

En la primera parte del post vimos la instalación de la base de datos PostgreSQL y el servidor de OpenERP. En esta segunda parte del post veremos la instalación de la parte cliente Gtk y cliente Web de OpenERP.

INSTALACIÓN DEL CLIENTE GTK DE OPENERP

1.- Al igual que en la primera parte las librerías de python que nos indican en el sitio oficial para instalar el cliente son las siguientes:


You need to install python (at least version 2.4 for OpenERP 5.0, 2.5 for OpenERP 6.0).
You also need to install the following python libraries:
  • gtk and glade (at least version 2.10)
  • matplotlib
  • mxdatetime
  • xml
  • tz (timezone library)
  • hippocanvas (Python bindings to hippo-canvas. Hippocanvas is a canvas library based on GTK+2.0, Cairo and Pango)



Como vemos algunas librerías coinciden con las que ya instalamos en la primera parte del post:

2.- Al igual que en el primer post utilizaremos la aplicación easy_install para instalar las librerías, o bien podemos instalarlas del repositorio de nuestra distribución, lo que nos resulte más fácil. En caso de no encontrar algunas librerías ni en easy_install ni en los paquetes de nuestra distribución podremos seguir los mismos pasos empleados en la primera parte del post para instalarlos.

3.- Una vez instalados las librerías necesarias, bajamos la versión cliente de OpenERP desde aquí. Descomprimimos el archivo descargado, en mi caso openerp-client-5.0.15.tar.gz

4.-Probaremos el cliente antes de instalarlo mediante el siguiente comando:

#openerp-client-5.0.15> cd /bin
#openerp-client-5.0.15/bin> python openerp-client.py

Haciendo esto debe mostrarnos una ventana como esta:



Es posible que al ejecutar este comando encontremos el siguiente mensaje en el terminal:

WARNING:common.options:Config file /home/micmm/.openerprc does not exist !

Esto es debido a que como dijimos en la primera parte del post no hemos definido un archivo de configuración para el cliente. Al iniciar el cliente creará este archivo con la configuración por defecto.

5.- Ahora que hemos probado que funciona correctamente, instalaremos el cliente mediante el siguiente comando:

#openerp-client-5.0.15>  sudo python setup.py install

Probamos ejecutar el cliente desde cualquier ubicación con el siguiente comando:

#> openerp-client


Si obtenemos los siguientes mensajes a la hora de ejecutar el cliente podemos realizar lo siguientes pasos para solucionarlo

CRITICAL:init:No se ha podido abrir el archivo «openerp-icon.png»: No existe el fichero o el directorio
CRITICAL:init:Ensure that the file /home/micmm/.openerprc is correct


1.- Nos situamos en nuestro home

#> cd

2.- Abrimos el archivo de configuración del cliente de OpenERP

#home/user> nano ..openerprc

3.- Buscamos las siguientes lineas:

[path]
pixmaps = /usr/share/pixmaps/openerp-client
share = /usr/share/openerp-client

Y las sustituiremos por las siguientes:

[path]
pixmaps = /usr/local/share/pixmaps/openerp-client
share = /usr/local/share/openerp-client

4.- Guardamos y salimos. Ahora si ejecutamos el cliente todo debería ir bien.



Si todo ha ido bien deberiamos volver a ver la imagen anterior del punto 3.

6.- Por último configuraré un visor de pdf personalizado para el cliente como indica en la documentación oficial. En dicha documentación nos informan que los visores que intentará ejecutar el cliente al visualizar un archivo pdf serán los siguientes programas y en el siguiente orden:


Open ERP client by default supports:
  1. evince
  2. xpdf
  3. gpdf
  4. kpdf
  5. epdfview
  6. acroread



En mi caso modificaré el archivo ~/.openerprc para que ejecute en primer lugar el visor acroread de la siguiente forma:


[printer]
softpath = acroread


Para profundizar más acerca de la configuración del cliente podemos hacerlo en su página oficial.

INSTALACIÓN DEL CLIENTE WEB DE OPENERP


Vamos a ver ahora en último lugar la instalación del cliente Web de OpenERP.  Podemos ver la documentación oficial de la instalación del cliente Web en esta dirección para profundizar más.

Nosotros como siempre intentaremos resumirlo en los siguientes pasos:

Las librerías necesarias para la instalación del cliente Web que según su web son:


  1. Python >= 2.4
  2. CherryPy >= 3.1.2
  3. Mako >= 0.2.4
  4. Babel >= 0.9.4
  5. FormEncode >= 1.2.2
  6. simplejson >= 2.0.9
  7. pyparsing >= 1.5.0


Remember, this version requires CherryPy3 which is conflicting with CherryPy2 (used by TurboGears), so you can’t install both in system area. To overcome with the issue, we added support for local library installation for OpenERP Web. In that case, just download the source package and do the following...



Sin embargo esta vez solventaremos estas dependencias de una forma diferente por el motivo que indica el texto introducido debajo del listado de librerías, así que, esto será lo que haremos:

1.- Descargamos de su web los sources para la instalación del Web client.

2.- Descomprimimos el archivo descargado openerp-web-5.0.15.tar.gz

#> tar xvf openerp-web-5.0.15.tar.gz

3.- Accedemos a la carpeta lib dentro de la carpeta descomprimida.

#> cd openerp-web-5.0.15/lib

4.- Ejecutamos el script populate que buscará las dependencias de las librerías listadas antes:

#openerp-web-5.0.15/lib> ./populate.sh

5.- Nos movemos a la carpeta raiz de la aplicación:

#openerp-web-5.0.15/lib> cd ..

6.- En el siguiente paso tenemos dos opciones.

a) Si ejecutamos el siguiente comando con la opción -U (--upgrade) tal como indican en la web oficial buscará en un repositorio una versión del cliente web de OpenERP para instalar, que al menos en mi caso en el momento de realizar mi instalación es una versión más antigua que la que he descargado de su web de descargas openerp-web-5.0.15, en concreto la versión openerp-web-5.0.6.

#openerp-web-5.0.15> sudo easy_install -U openerp-web

b) Para instalar la versión más reciente que hemos descargado ejecutaremos el siguiente comando:

#openerp-web-5.0.15> sudo easy_install .

Podemos ver las distintas opciones de instalación con easy_install aquí. En concreto la que utilizamos en la opción b) es la del ejemplo 6 de la sección “Downloading and Installing a Package”.

7.- En este paso modificaremos la configuración del cliente web en caso de necesitarlo. A diferencia de la web oficial en la última versión que he descargado el archivo de configuración del cliente web ya no es “default.cfg” sino “openerp-web.cfg”. Para localizar donde está este archivo después de nuestra instalación podemos recurrir al comando locate.

#>locate openerp-web.cfg

Una vez localizado el archivo que corresponde a nuestra versión instalada lo editamos para configurarlo según nuestras necesidades:

#> nano /usr/local/lib64/python2.6/site-packages/openerp_web-5.0.14-py2.6.egg/config/openerp-web.cfg

Si queremos profundizar más sobre la configuración del cliente web podemos hacerlo aquí.

8.- Por último levantamos nuestro cliente web mediante el siguiente comando desde cualquier ubicación:

#> openerp-web

Si todo ha ido bien el terminal debería mostrar un mensaje similar al del siguiente recuadro:


[08/Dec/2010:12:48:01] ENGINE Bus STARTING
[08/Dec/2010:12:48:01] ENGINE Started monitor thread '_TimeoutMonitor'.
[08/Dec/2010:12:48:01] ENGINE Started monitor thread 'Autoreloader'.
[08/Dec/2010:12:48:01] ENGINE Serving on 0.0.0.0:8080
[08/Dec/2010:12:48:01] ENGINE Bus STARTED
[08/Dec/2010:12:48:31] ENGINE Started monitor thread 'Monitor'.


Ahora si abrimos nuestro navegador web e introducimos la siguiente dirección http://localhost:8080/ debe mostrarnos una web similar a la de la siguiente imagen:





Para solucionar el mensaje ¡No se ha podido conectar con el servidor! editad el archivo de configuración ~/.openerp_serverrc allí si veis que el parámetro db_user tiene como usuario vuestro usuario de sistema en vez del usuario openerp que hemos creado lo cambiamos de la siguiente forma:

db_user = user

Por:

db_user = openerp

Reiniciamos el servidor y debería funcionarnos.



Y esto es todo de momento.

En la web oficial también podremos ver como configurar conexiones https, iniciar el cliente web como un servicio y muchas más cosas.

Saludos.









Instalación de OpenERP - Primera Parte (Base de datos y Servidor)

Para instalar OpenERP tenemos una documentación en su web oficial sobre cómo instalarlo tanto en Linux como en Windows. Podemos consultarla aquí.

Aún así aquí voy a comentar mi experiencia instalando OpenERP para Linux (OpenSuse) en este y otros post sucesivos:

INSTALACIÓN DE LA BASE DE DATOS

Lo primero que necesitamos para instalar OpenERP es instalar una base de datos PostgreSQL, así que veamos los pasos necesarios para hacerlo:

1.- Instalar PostgreSQL. Podemos hacerlo mediante la instalación desde los paquetes de nuestra distribución, o bien desde el código fuente descargado de la página web de PostgreSQL.

2.- Añadimos un usuario como indica en la documentación oficial de la web de OpenERP


johndoe$ sudo su - postgres
password: XXXXXXXXXX


postgres$ createuser --createdb --username postgres --no-createrole --pwprompt openerp
Enter password for new role: XXXXXXXXXX
Enter it again: XXXXXXXXXX


Shall the new role be a superuser? (y/n) y
CREATE ROLE
postgres$



Para probar que se ha creado correctamente podemos probar a conectarnos con este nuevo usuario desde pgAdmin3 o desde phpPgAdmin. Podemos ver a diferencia del anterior post, que ahora no tenemos ningún problema para identificarnos con este nuevo usuario en phpPgAdmin.

INSTALACIÓN DEL SERVIDOR DE OPENERP

3.- A continuación instalaremos la versión Server de OpenERP. Para poder instalar esta versión nos requerirá la instalación de algunas librerías de python. En concreto estas son las librerías que nos especifican en su web:


You need to install Python (at least version 2.4 for OpenERP 5.0, 2.5 for OpenERP 6.0).
You also need to install the following python libraries:
  • psycopg2
  • reportlab
  • pychart
  • pydot
  • mxdatetime
  • lxml (libxml2 and libxslt are not required anymore since 5.0.7)
  • pytz (timezone library)
  • PIL: Python Imaging Library (required for reportlab)
  • vobject: iCalendar and VCards parsing




Para facilitarnos la instalación de librerías de python lo que haremos será instalar una aplicación llamada easy_install que podemos encontrar en el paquete python-setuptools. Asi que en función de nuestra distribución escribiremos el comando para su instalación ya sea con zypper, yum, apt, etc. Podemos obtener más información de esta aplicación aquí.

Opensuse:
#> zypper install python-setuptools

Ubuntu:
#> sudo aptitude install python-setuptools

4.- Una vez instalada la aplicación easy_install procedemos a instalar las librerías python requeridas de la siguiente forma:

#> su
root#> easy_install psycopg2

Esto debería mostrar una salida similar a esta:

Searching for psycopg2
Best match: psycopg2 2.2.2
Adding psycopg2 2.2.2 to easy-install.pth file

Using /usr/lib64/python2.6/site-packages
Processing dependencies for psycopg2
Finished processing dependencies for psycopg2


Así seguiremos instalando cada una de las librerías que necesitemos listadas anteriormente:


Es posible si trabajamos por ejemplo con OpenSuse que no encuentre alguna de estas librerías, al intentar instalarlas con easy_install , ni tampoco estén en los repositorios de Opensuse como es el caso de pychart así que podría mostrándoles algo similar a esto:

#> easy_install pychart
Searching for pychart
Reading http://pypi.python.org/simple/pychart/
Reading http://www.hpl.hp.com/personal/Yasushi_Saito/pychart
No local packages or download links found for pychart
error: Could not find suitable distribution for Requirement.parse('pychart')


En este caso podemos hacer lo siguiente:

1.- Visitamos la página oficial de la librería http://home.gna.org/pychart/

2.- Descargamos de su área de descarga la versión que queramos, yo en mi caso he descargado la versión 1.39

3.- Descomprimimos el archivo descargado y seguimos las instrucciones del archivo README como indica el punto 4.

4.- Nos identificamos como root en la carpeta descomprimida y tecleamos lo siguiente:

#PyChart-1.39> su
root#PyChart-1.39> python setup.py install

Esto debería instalar correctamente la librería en el sistema.

En mi caso también he encontrado problemas para instalar la siguiente librería:

- mxdatetime:


En cualquier caso el procedimiento para instalar cualquiera que no encontráramos en la aplicación easy_install ni en los repositorios de nuestra distribución sería el misma al que hemos visto para estas dos librerías.



5.- Descargamos la versión Server de OpenERP desde aquí. En nuestro caso bajaremos los sources de la versión estable que actualmente es la 5.0.15. Descomprimimos el archivo openerp-server-5.0.15.tar.gz.

Una vez descomprimido el archivo, como indica en la documentación oficial, si tan sólo queremos probar el servidor sin instalarlo podemos hacer lo siguiente:

#> python openerp-server.py

Y debe mostar algo similar a lo que muestra el siguiente recuadro:


[2010-12-07 15:33:38,069][?] INFO:server:version - 5.0.15
[2010-12-07 15:33:38,069][?] INFO:server:addons_path - /home/user/openerp-server-5.0.15/bin/addons
[2010-12-07 15:33:38,070][?] INFO:server:database hostname - localhost
[2010-12-07 15:33:38,070][?] INFO:server:database port - 5432
[2010-12-07 15:33:38,073][?] INFO:server:database user - user
[2010-12-07 15:33:38,073][?] INFO:objects:initialising distributed objects services
/usr/lib64/python2.6/site-packages/reportlab/pdfbase/pdfutils.py:44: SyntaxWarning: assertion is always true, perhaps remove parentheses?
 assert(len(raw) == imgwidth * imgheight, "Wrong amount of data for image")
/usr/lib64/python2.6/site-packages/reportlab/pdfgen/canvas.py:17: DeprecationWarning: the md5 module is deprecated; use hashlib instead
 import md5
/usr/lib64/python2.6/site-packages/reportlab/pdfbase/pdfdoc.py:1899: SyntaxWarning: assertion is always true, perhaps remove parentheses?
 assert(len(raw) == self.width*self.height, "Wrong amount of data for image")
[2010-12-07 15:33:39,090][?] INFO:web-services:starting XML-RPC services, port 8069
[2010-12-07 15:33:39,091][?] INFO:web-services:starting NET-RPC service, port 8070
[2010-12-07 15:33:39,091][?] INFO:web-services:the server is running, waiting for connections...


6.- Una vez que hemos comprobado el correcto funcionamiento del servidor vamos a instalarlo, para ello ejecutaremos el siguiente comando desde la carpeta raiz donde descomprimimos nuestro archivo del servidor:

#penerp-server-5.0.15> sudo python setup.py install

Si todo ha ido bien ya tendremos nuestro servidor instalado. Para levantar ahora el servidor introduciremos el siguiente comando desde cualquier path:

#> openerp-server

Si se ha levantado correctamente deberá mostrar un mensaje similar al del anterior recuadro.

7.- Ahora seguramente queramos conocer la forma de configurar el servidor para nuestras necesidades. Podemos encontrar información sobre la configuración del cliente y del servidor aquí y una versión traducida al español aquí.

En estas direcciones básicamente nos hablan sobre dos archivos de configuración, uno para configurar el cliente y otro para configurar el servidor. El archivo de configuración del cliente se crea automáticamente la primera vez que se inicia, y sobre el archivo de configuración del servidor nos dice que puede ser generado automáticamente mediante el siguiente comando:

#> openerp-server.py -s



Para solucionar el problema resaltado en negrita más abajo ejecutad el servidor de la siguiente forma para crear el archivo de configuración:

#>openerp-server -s

@linux-opensuse:~> openerp-server
[2010-12-20 23:34:30,737][?] INFO:server:version - 5.0.15
[2010-12-20 23:34:30,737][?] INFO:server:addons_path - /usr/local/lib64/python2.6/site-packages/openerp-server/                            addons
[2010-12-20 23:34:30,737][?] INFO:server:database hostname - localhost
[2010-12-20 23:34:30,737][?] INFO:server:database port - 5432
[2010-12-20 23:34:30,737][?] INFO:server:database user - micmm
[2010-12-20 23:34:30,738][?] INFO:objects:initialising distributed objects services
/usr/lib64/python2.6/site-packages/reportlab/pdfgen/canvas.py:17: DeprecationWarning: the md5 module is depreca                            ted; use hashlib instead
 import md5
[2010-12-20 23:34:31,843][?] INFO:web-services:starting XML-RPC services, port 8069
[2010-12-20 23:34:31,848][?] INFO:web-services:starting NET-RPC service, port 8070
[2010-12-20 23:34:31,848][?] INFO:web-services:the server is running, waiting for connections...
/usr/local/lib64/python2.6/site-packages/openerp-server/tools/misc.py:748: DeprecationWarning: BaseException.me                            ssage has been deprecated as of Python 2.6
 if hasattr(e, 'message'):
/usr/local/lib64/python2.6/site-packages/openerp-server/tools/misc.py:749: DeprecationWarning: BaseException.me                            ssage has been deprecated as of Python 2.6
 return ustr(e.message)


Los archivos de los que hablamos son lo siguientes, y si no se encuentran en el sistema porque no se hayan creado, el cliente y el servidor se iniciaran con la configuración por defecto:

- Para el cliente: ~/.openerprc
- Para el servidor: ~/.openerp_serverrc

Con esto hemos cubierto dos de los pasos necesarios para la instalación de OpenERP.

En el siguiente post veremos la instalción del cliente GTK y Web de OpenERP.

Saludos.