Ubuntu instalar cliente python Oracle


En Ubuntu12 LTS a mi me ha funcionado esto:


  1. apt-get install python-dev build-essential libaio1
  2. Bajar instantclient-basic-linux  e  instantclient-sdk-linux de Oracle.
  3. unzipear en, por ejemplo,  /opt/ora/
  4. Modificar el path (cuidado con las versiones)
    export ORACLE_HOME=/opt/ora/instantclient_11_2
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
  5. Crear link cd $ORACLE_HOME && ln -s libclntsh.so.11.1 libclntsh.so
  6. Hacer visudo  y añadir la línea Defaults env_keep += "ORACLE_HOME"
  7. pip install cx_oracle
  8. Provamos con import cx_Oracle
  9. Si queremos usar las librerías desde cualquier usuario, editamos /etc/environment y añadimos el punto 4 (sin el export) con el path entre comillas.

En caso de tener el servidor Oracle en la misma máquina que el servidor Apache, entonces hay que añadir las lineas

export ORACLE_HOME=/opt/ora/instantclient_11_2
export LD_LIBRARY_PATH=/opt/ora/instantclient_11_2

en /etc/apache3/envvars reiniciar apache.

La razón es que, al menos en mi caso, no podemos usar las librerias del servidor como cliente ya que cx_Oracle nos da el error InterfaceError: Unable to acquire Oracle environment hanle


Fuentes:
http://stackoverflow.com/questions/4307479/install-cx-oracle-for-python