Así que encontré ayuda para instalar cx_Oracle pero todavía estoy atascado. Descargué el último cliente instantáneo de oracle y configuré ORACLE_HOME en la ubicación de los archivos extraídos (tanto de forma directa como con una carpeta bin entre el valor ORACLE_HOME y los archivos), pero easy_install muestra un error al ejecutar setup.py diciendo que puede t localizar los archivos de inclusión de Oracle. Noté que solo la 11g dll está en la carpeta, ¿necesito los 3 controladores presentes para completar la configuración? Si es así, ¿dónde los consigo?
Honestamente, es mucho más fácil instalar cx_Oracle desde uno de los instaladores binarios que tienen, que desde la fuente.
Vaya a la página de descarga de Instant Client para Linux x86.
Descargue la última versión de los paquetes básicos, sqlplus y sdk que se ajustan a su architecture (32 o 64 bits):
oracle-instantclient-basic-..rpm
oracle-instantclient-sqlplus-..rpm
oracle-instantclient-devel-..rpm
. Instala los RPMs usando alien. Por ejemplo, al momento de escribir este artículo:
$ sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
Agregue las variables de entorno necesarias (yo personalmente lo puse en /etc/environment
luego cerré la sesión / para volver a cargarla):
ORACLE_HOME=/usr/lib/oracle//client64/lib/ LD_LIBRARY_PATH=/usr/lib/oracle/ /client64/lib/
Fix oracle’s incluye :
$ sudo ln -s /usr/include/oracle//client $ORACLE_HOME/include # for 32bits arch, OR $ sudo ln -s /usr/include/oracle/ /client64 $ORACLE_HOME/include # for 64bits arch
Cree /etc/ld.so.conf.d/oracle-instantclient
y /etc/ld.so.conf.d/oracle.conf
(para versiones más recientes, al menos desde 12.1) que contiene:
/lib /usr/lib/oracle//client/lib ; for 32bits arch, OR /usr/lib/oracle/ /client64/lib ; for 64bits arch
Recargue el caché de ldconfig (use el indicador -v
si quiere algo detallado):
$ sudo ldconfig
Puede que necesite instalar libaio1
.
Suponiendo que hayamos instalado Oracle Instant Client 10, tiene diferentes alternativas para instalar cx_Oracle :
$ pip install cx_oracle
(solo linux) Las versiones anteriores (las versiones menores de 5.1.2 son archivos .msi y .rpm) se pueden descargar desde aquí . Instala los RPMs usando alien. Por ejemplo, al momento de escribir esto: $ sudo alien -i cx_Oracle-5.0-10g-py25-1.x86.rpm
Para probar, python -c 'import cx_Oracle; print cx_Oracle'
python -c 'import cx_Oracle; print cx_Oracle'
debería devolver los módulos con su versión.
paso 1 cheque python es de 32 bits o 64
import platform platform.architecture()[0]#'32bit'
o paso 2, instale oracle client (32 o 64 bits depende de la versión de python del paso 1)
el directorio aparecerá así
haga clic en instalar y establezca la ruta a los directorios ‘base’ y ‘software’
en este caso, el directorio ‘instalado’ es básico y el directorio ‘software’ es para la ruta del software
establecer ORACLE_HOME ruta:
configure la ruta de inicio de oracle al directorio ‘software’ como ‘F: \ softwares \ oracle11g32 \ installed \ software’
paso 3 instala vcforpython27 o visual c ++ 2008 express edition para python 2.7
descárguelo desde aquí https://www.microsoft.com/en-sa/download/details.aspx?id=44266 (usé esto en este caso para evitar la instalación de todo el Visual C ++ 2008 como se menciona a continuación)
es un paquete pequeño que contiene comstackdores de c ++ para Python 2.7
(O)
visual c ++ 2008 Express Edition ( https://www.microsoft.com/en-sa/download/details.aspx?id=5582 ) [será alrededor de una instalación de 1 GB]
vcforpython27 se instalará en ‘C: \ Users \ Administrator \ AppData \ Local \ Programs \ Common \ Microsoft’
habilitar mostrar carpeta oculta en windows a este estos directorios
debe apuntar al punto del directorio que contiene el archivo por lotes ‘vcvarsall’
echo% VS100COMNTOOL% para ver si apunta al directorio correcto en cmd
Y siga los pasos a continuación: (de: error: no se puede encontrar vcvarsall.bat )
vaya a C: / Python27 / lib / distutils el archivo msvc9compiler.py. Encuentre en ella la función find_vcvarsall y haga la siguiente modificación. Reemplace la línea: productdir = os.path.join (toolsdir, os.pardir, os.pardir, “VC”) con productdir = os.path.join (toolsdir) Aquí es donde reside vcvarsall.bat en este caso (verifique, donde vcvarsall.bat está en su instalación).
instalar cx_Oracle
the easy step: pip install cx_oracle
Si todos los pasos anteriores se siguen correctamente, entonces debería funcionar. Me costó mucho entender esto. Espero que sea de utilidad.
recomendado para ejecutar:
pip install --upgrade setuptools from : https://stackoverflow.com/questions/2667069/cannot-find-vcvarsall-bat-when-running-a-python-script
Nota: Requiere que un usuario se autentique con una OTN (cuenta de la red de Oracle Tech).
1.1. Descargue y descomprima “Instant Client Package – Basic” en C: \ Python27 \ Scripts \ instantclient_11_2, por ejemplo, instantclient-basic-windows.x64-11.2.0.4.0.zip
1.2. Descargue y descomprima “Instant Client Package – SDK” en C: \ Python27 \ Scripts \ instantclient_11_2, por ejemplo, instantclient-sdk-windows.x64-11.2.0.4.0.zip
establecer ORACLE_HOME = C: \ Python27 \ Scripts \ instantclient_11_2
python -m pip install cx_Oracle
Salida exitosa: Collecting cx_Oracle Using cached cx_Oracle-5.2.1.tar.gz Building wheels for collected packages: cx-Oracle Running setup.py bdist_wheel for cx-Oracle ... done Stored in directory: C:\Users\m315468\AppData\Local\pip\Cache\wheels\7c\5f\96\ cd273c9b675bc7c28ae249b74d1f7df5d3eacba9e918715225 Successfully built cx-Oracle Installing collected packages: cx-Oracle Successfully installed cx-Oracle-5.2.1