linux - por - cx_Oracle: distutils.errors.DistutilsSetupError: no puede localizar los archivos de inclusiĆ³n de Oracle
salir de vim ubuntu (4)
Necesito instalar cx_Oracle para Python 2.5 en Linux (Linux 2.6.18-371.1.2.el5 i686). He instalado el cliente de Oracle 10.2.0.4.
He intentado lo siguiente: 1. Descargue cx_Oracle tar.gz
desde http://sourceforge.net/projects/cx-oracle/files/
. No sé cuáles de las versiones enumeradas son adecuadas para Python 2.5 y Oracle Client 10.2.0.4, así que intente cx_Oracle-5.1.tar.gz. Desempaquetado tar, vaya a la carpeta desempaquetada y ejecute python setup.py install. Me equivoque
Traceback (most recent call last):
File "setup.py", line 187, in <module>
raise DistutilsSetupError("cannot locate Oracle include files")
distutils.errors.DistutilsSetupError: cannot locate Oracle include files
En .bash_profile he establecido la ruta de Oracle:
export ORACLE_HOME=/usr/oracle/10.2.0.4/client
export PATH=$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
¿Cómo corregir tal error, tal vez necesito otra versión de cx_Oracle tar?
- Ejecuta pip install cx_Oracle. Error conseguido
Descarga / desembalaje de cx-Oracle
Cannot fetch index base URL https://pypi.python.org/simple/
Could not find any downloads that satisfy the requirement cx-Oracle
No distributions at all found for cx-Oracle
¿Podría alguien aconsejarme la solución correcta?
Actualización Después de sugerencia en respuesta, recibí el siguiente error:
...
cx_Oracle.c:496: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
cx_Oracle.c:497: error: âOCI_UCBTYPE_EXITâ undeclared (first use in this function)
cx_Oracle.c:497: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
cx_Oracle.c:498: error: âOCI_UCBTYPE_REPLACEâ undeclared (first use in this function)
cx_Oracle.c:498: warning: passing argument 3 of âPyModule_AddIntConstantâ makes integer from pointer without a cast
error: command ''gcc'' failed with exit status 1
Instalar
oracle_client_basic
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
Usando pip instalar
python -m pip install cx_Oracle
Añadiendo ldconfig
- Encuentre la ubicación de su cliente, por ejemplo:
/u01/app/oracle/product/11.2.0/client_1/lib
vi /etc/ld.so.conf.d/oracle.conf
Añadir esta ubicación en él:
/u01/app/oracle/product/11.2.0/client_1/lib
-
ldconfig
- Encuentre la ubicación de su cliente, por ejemplo:
-
import cx_oracle
Asegúrese de instalar el cliente instantáneo SDK para su sistema operativo.
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Asegúrese de tener un cliente sdk presente en su ruta.
También tuve que hacer agregar esto a mi .bash_rc
export DYLD_LIBRARY_PATH=$ORACLE_HOME
Además de esto, Python 2.7 no viene con Python.h, que está disponible de forma predeterminada en Python 3.4. Así que también sugiero instalar el paquete python-devel
yum install python-devel
Eso debería resolver el problema.
Cuando ejecute setup.py, buscará cualquiera de estas carpetas en su ORACLE_HOME.
possibleIncludeDirs = ["rdbms/demo", "rdbms/public", "network/public",
"sdk/include"]
Además, el cliente instantáneo a veces coloca los archivos de inclusión, como oci.h, en / usr / include / oracle // client, si no hay un directorio ''include'' en ORACLE_HOME cree un enlace simbólico.
sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include
Parece que te estás perdiendo el SDK del cliente