Estoy codificando un servicio web en python que usa una base de datos Oracle. Tengo cx_Oracle instalado y en funcionamiento, pero tengo algunos problemas cuando ejecuto mi código python como CGI usando Apache.La secuencia de comandos Python + CGI no puede acceder a las variables de entorno
Por ejemplo el siguiente código funciona perfectamente en la línea de comandos:
#!/usr/bin/python
import os
import cx_Oracle
import defs as df
os.putenv('ORACLE_HOME', '/oracledb/10.2.0/')
os.putenv('LD_LIBRARY_PATH', '/oracledb/10.2.0/lib')
con = cx_Oracle.Connection(df.DB_USER, df.DB_PASS, df.DB_SID)
print con
Pero cuando lo ejecuto como CGI me sale un "cx_Oracle.InterfaceError: No se puede adquirir de contexto del entorno de Oracle" en el registro de errores de Apache .
He buscado en la red y todo el mundo dice que tengo que establecer las variables de entorno ORACLE_HOME
y LD_LIBRARY_PATH
. De alguna manera, la secuencia de comandos CGI no puede acceder a estas variables de entorno incluso cuando las defino usando os.putenv
como puede ver en el código.
¿Qué estoy haciendo mal? ¡Gracias!
¿Por qué no usas mod_wsgi? –