Prerequisiti
Prima di iniziare il tutorial assicuratevi di avere installato i seguenti tools, facendo ricorso magari alle rispettive distribuzioni binarie, reperibili agli url fra parentesi.
- Python >= 2.6 (http://www.python.org/download/)
- Postgresql 8.4 (http://www.enterprisedb.com/products/pgdownload.do#osx)
- MacPorts (http://www.macports.org/)
L’utilizzo di MacPorts è finalizzato all’installazione di pacchetti e librerie che durante il tutorial dovessero risultare non presenti nel sistema. Inoltre la presenza di MacPorts vi assicura che la toolchain gnu è perfettamente in ordine!
Virtualenv e Virtualenvwrapper
easy_install virtualenv
easy_install virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper_bashrc
mkvirtualenv -p python2.6 openerp-5_0_12
(openerp-5_0_12)macgiver:~ masci$
deactivate
workon openerp-5_0_12
Installazione di openerp-server e openerp-web
reportlab
pydot
pip install pydot
lxml
pip install lxml
pychart
Recuperate il pacchetto con i sorgenti all’indirizzo: http://download.gna.org/pychart/PyChart-1.39.tar.gz, poi
tar xzf PyChart-1.39.tar.gz && cd PyChart-1.39 python setup.py install
psycopg2
PATH=$PATH:/Library/PostgreSQL/8.4/bin/ pip install psycopg2
Attenzione ad aggiustare il path sopra a seconda delle vostre esigenze: la directory specificata deve essere quella dove l’installazione di postgres ha posizionato l’eseguibile pg_config.
mx.DateTime
Questo pacchetto va installato ‘a mano’ dato che il file setup.py patcha in vari punti distutils, andando in conflito con setuptools. La cosa migliore è prendere il pacchetto da egenix stessa: a questo indirizzo, http://www.egenix.com/products/python/mxBase/, cercate la voce “Source Code (for all other platforms):” e premete il pulsante “download”. Una volta scaricato il pacchetto:
tar xzf egenix-mx-base-3.1.3.tar.gz && cd egenix-mx-base-3.1.3 python setup.py install
PIL
pip install PIL
pytz
pip install pytz
http://www.openerp.com/download/stable/source/openerp-server-5.0.12.tar.gz
http://www.openerp.com/download/stable/source/openerp-web-5.0.12.tar.gz
Scompattiamo gli archivi e procediamo con l’installazione:
tar xzf openerp-server-5.0.12.tar.gz && cd openerp-server-5.0.12 python setup.py install
tar xzf openerp-web-5.0.12.tar.gz && cd openerp-web-5.0.12 python setup.py install
Setup e avvio
cdsitepackages
cd openerp_web-5.0.12-py2.6.egg/config
Il file di configurazione del server invece viene caricato solo se presente nella home dell’utente o espressamente indicato con l’apposito flag da riga di comando. Il comando seguente:
openerp-server -s ^C
Una volta modificato il file ~/.openerp_serverrc possiamo avviare le componenti di openerp:
openerp-web 2&> /dev/null & openerp-server
Come chicca finale, grazie a virtualenvwrapper possiamo automatizzare gli ultimi due passaggi in modo che vengano eseguiti ogni volta che attiviamo il nostro virtual env. La directory bin/ all’interno del nostro virtualenv contiene infatti degli script che vengono eseguiti durante le varie fasi di attivazione/disattivazione dell’ambiente e che possiamo usare come hooks. In particolare in bin/postactivate possiamo scrivere:
#!/bin/bash # This hook is run after this virtualenv is activated. openerp-web 2&> /dev/null & echo $! > /var/tmp/openerp-web.pid openerp-server & echo $! > /var/tmp/openerp-server.pid
#!/bin/bash # This hook is run before this virtualenv is deactivated. kill `cat /var/tmp/openerp-web.pid` kill `cat /var/tmp/openerp-server.pid`