02 junio 2015

Crear un entorno de desarrollo aislado para Tryton con virtualenvwrapper en Debian (Jessie).

Primero nos tenemos que asegurar que tenemos instalados los siguientes paquetes:
sudo apt-get install python-pip python-pkg-resources npm libxml2-dev libxslt-dev libsasl2-dev python-distutils-extra python-dev libldap2-dev libssl-dev libjpeg-dev postgresql-server-dev-all libffi-dev postgresql-9.4 freetds-dev virtualenvwrapper libmysqlclient-dev libsqlite3-dev
Después debemos crear el entorno virtual con las herramientas que nos proporciona virtualenvwrapper.
cd ~/workspace
mkproject trytond
A continuación tenemos que descargar los siguientes proyectos donde se almacenan las configuraciones de librerías necesarias así como los módulos a instalar del servidor Tryton
hg clone http://bitbucket.org/nantic/tryton-tasks tasks
hg clone http://bitbucket.org/nantic/tryton-config config
hg clone http://bitbucket.org/nantic/nan_tryton_utils utils
Instalamos las librerías de las herramientas de desarrollo (tasks) y del entorno de tryton (config):
cd utils
./script-symlinks.sh
cd ..
pip install -r config/requirements.txt
pip install -r tasks/requirements.txt
touch local.cfg
invoke clone --config config/base.cfg
invoke clone
Miramos que rama tienen los módulos descargados y los actualizamos todos a la misma. Para la rama 3.4 sería:
invoke update branch 3.4
* Puesto que no hay versión 3.4 para los módulos account_stock_landed_cost*, sale_complaint, commission* y sale_promotion, hay que borrarlos.

Desarrollo de aplicaciones web con Flask para Tryton

Para poder desarrollar aplicaciones web utilizando la librería flask_tryton de pypi, tenemos que descargar, descomprimir y desempaquetar la librería en nuestro entorno de desarrollo:
$ wget https://pypi.python.org/packages/source/f/flask_tryton/flask_tryton-0.4.tar.gz
$ tar -xvzf flask_tryton-0.4.tar.gz
$ mv flask_tryton-0.4 flask_tryton
Otra librería que podría interesarnos instalar podría ser flask-restful
$ pip install flask-restful

PYTHONPATH

Finalmente debemos modificar el PYTHONPATH para que apunte a los directorios que contienen trytond, proteus y flask_tryton tal y como se explica en la entrada de creación del entorno virtual con virtualenvwrapper.

Resolución de problemas

Una vez instalado y funcionando el entorno, tras alguna actualización nos podemos encontrar con algunos problemas con el comando invoke. Para solucionarlo se debe instalar una versión inferior a la 0.11:
pip install invoke==0.10
También deberemos ejecutar la clonación de nuevos repositorios desde el directorio config.
workon trytond
cd config
invoke clone -c ./nombre_repositorio.cfg