easy_install cx_Oracle (paquete python) en Windows

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.

HOWTO para * nix:

  1. Vaya a la página de descarga de Instant Client para Linux x86.

  2. 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 .
  3. 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 
  4. 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/ 
  5. 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 
  6. Cree /etc/ld.so.conf.d/oracle-instantclient-basic.conf 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 
  7. Recargue el caché de ldconfig (use el indicador -v si quiere algo detallado):

     $ sudo ldconfig 

Puede que necesite instalar libaio1 .

COMO instalar cx_Oracle

Suponiendo que hayamos instalado Oracle Instant Client 10, tiene diferentes alternativas para instalar cx_Oracle :

  1. Instalar con pip : $ pip install cx_oracle (solo linux)
  2. Descargue el archivo instalador / .tar.gz desde el sitio PyPI de cx_oracle

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 introduzca la descripción de la imagen aquí paso 2, instale oracle client (32 o 64 bits depende de la versión de python del paso 1)

  • descargue el cliente oracle desde http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html(link for32 bit version) descargue y extraiga los archivos zip en una carpeta
  • Los archivos zip se extraen a ‘instalación’ en este caso
  • el directorio aparecerá así introduzca la descripción de la imagen aquí

    • haga clic en instalar y establezca la ruta a los directorios ‘base’ y ‘software’

      • El directorio del software debe estar dentro del directorio base (recomendado)
      • 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’

      • en cmd verifique ‘echo% ORACLE_HOME%’ para ver si la ruta está configurada correctamente

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 introduzca la descripción de la imagen aquí

  • establezca una variable de entorno con el nombre ‘VS100COMNTOOLS’ con el valor como ‘C: \ Users \ Administrator \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ para Python \ 9.0’
  • debe apuntar al punto del directorio que contiene el archivo por lotes ‘vcvarsall’ introduzca la descripción de la imagen aquí

  • 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 
  1. Descargue oracle instant client (para el arquitecto de 32 bits o 64 bits y la versión adecuada de Oracle (10g, 11g, 12g)). http://www.oracle.com/technetwork/topics/winx64soft-089540.html

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

  1. establecer ORACLE_HOME = C: \ Python27 \ Scripts \ instantclient_11_2

  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