Después de de esta extensa búsqueda de datos dimos con la respuesta esta inconveniente que pueden tener ciertos los lectores. Te brindamos la respuesta y nuestro objetivo es resultarte de mucha ayuda.
Solución:
Honestamente, es muchísimo más fácil instalar cx_Oracle desde uno de los instaladores binarios que tienen, que desde la fuente.
CÓMO para * nix:
-
Vaya a la página de descarga de Instant Client para Linux x86.
-
Descargue la última versión de los paquetes básico, sqlplus y sdk que se adapten a su arquitectura (32 o 64 bits):
oracle-instantclient
-basic- . .rpm oracle-instantclient
-sqlplus- . .rpm oracle-instantclient
.-devel- . .rpm
-
Instale las RPM con alien. Por ejemplo, en el 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 (personalmente lo puse en
/etc/environment
luego cierre sesión / vuelva a ingresar para recargar el entorno):ORACLE_HOME=/usr/lib/oracle/
/client64/lib/ LD_LIBRARY_PATH=/usr/lib/oracle/ /client64/lib/ -
Fix Oracle 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 -
Crear
/etc/ld.so.conf.d/oracle-instantclient
y-basic.conf /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 -
Vuelva a cargar la caché ldconfig (use
-v
marca si quieres algo detallado):$ sudo ldconfig
Puede que necesites instalar libaio1
.
CÓMO Instalar cx_Oracle
Suponiendo que hayamos instalado Oracle Instant Client 10, tiene diferentes alternativas para instalar cx_Oracle:
- Instalar con pip:
$ pip install cx_oracle
(solo linux) - Descargue el archivo installer / .tar.gz del sitio cx_oracle PyPI
Las versiones anteriores (la versión anterior a la 5.1.2 son archivos .msi y .rpm) se pueden descargar desde aquí. Instale las RPM con alien. Por ejemplo, en el momento de escribir este artículo:
$ sudo alien -i cx_Oracle-5.0-10g-py25-1.x86.rpm
Probar, python -c 'import cx_Oracle; print cx_Oracle'
debe devolver los módulos con su versión.
paso 1 comprobar que Python es de 32 bits o 64
import platform
platform.architecture()[0]#'32bit'
o
- descargue el cliente de Oracle desde http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html(enlace para la versión de 32 bits) descargue y extraiga los archivos zip en una carpeta
- los archivos zip se extraen para ‘instalación’ en este caso
-
el directorio aparecerá así
-
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 la base y el directorio ‘software’ es para la ruta del software
-
establecer ruta ORACLE_HOME:
-
establezca 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 instalar 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 (use esto en este caso para evitar la instalación de Visual C ++ 2008 completo como se menciona a continuación)
-
es un paquete pequeño que contiene compiladores de c ++ para python 2.7
-
(O)
-
Visual C ++ 2008 Express Edition (https://www.microsoft.com/en-sa/download/details.aspx?id=5582) [it will around a 1 GB installation]
-
vcforpython27 se instalará en ‘C: Users Administrator AppData Local Programs Common Microsoft’
-
habilitar mostrar carpeta oculta en Windows a estos directorios
- establezca una variable de entorno con el nombre ‘VS100COMNTOOLS’ con un valor como ‘C: Users Administrator AppData Local Programs Common Microsoft Visual C ++ para Python 9.0’
-
debe apuntar al 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. Busque en ella la función find_vcvarsall y realice 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 darme cuenta de esto. Espero que te 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
Te invitamos a asistir nuestro trabajo añadiendo un comentario y dejando una puntuación te lo agradecemos.