descargar - oracle instant client python
Ayuda para instalar cx_Oracle (3)
Estoy intentando instalar cx_Oracle para Python 2.6, pero está fallando. No sé lo suficiente sobre C o MS Vis. El compilador de Studio incluso se acerca a arreglarlo yo mismo.
Esto es lo que se muestra en la línea de comando:
C:/pydev/cx_Oracle-5.0.1>C:/python26/python setup.py install
running install
running build
running build_ext
building ''cx_Oracle'' extension
C:/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -IC:/Oracle/instantclient/sdk/include -IC:/p
ython26/include -IC:/python26/PC /Tccx_Oracle.c /Fobuild/temp.win32-2.6-11g/Release/cx_Oracle.obj -DBUILD_VERSION=5.0.1
cx_Oracle.c
c:/pydev/cx_oracle-5.0.1/StringVar.c(392) : warning C4018: ''>'' : signed/unsigned mismatch
c:/pydev/cx_oracle-5.0.1/StringVar.c(417) : warning C4018: ''>'' : signed/unsigned mismatch
c:/pydev/cx_oracle-5.0.1/ObjectVar.c(117) : warning C4018: ''<'' : signed/unsigned mismatch
c:/pydev/cx_oracle-5.0.1/ObjectVar.c(134) : warning C4018: ''<'' : signed/unsigned mismatch
c:/pydev/cx_oracle-5.0.1/Variable.c(331) : error C2036: ''void *'' : unknown size
c:/pydev/cx_oracle-5.0.1/Variable.c(878) : warning C4244: ''='' : conversion from ''sb2'' to ''sb1'', possible loss of data
c:/pydev/cx_oracle-5.0.1/Variable.c(914) : warning C4018: ''<'' : signed/unsigned mismatch
error: command ''"C:/Program Files/Microsoft Visual Studio 9.0/VC/BIN/cl.exe"'' failed with exit status 2
¿Alguien tiene alguna idea de cómo solucionar este problema? (También puedo tener un problema con ese archivo cl.exe, creo que recuerdo haberlo visto como un problema en otra parte, pero tengo cuatro máquinas con Windows que podrían haber tenido un problema allí).
----------------------------- EDITAR -------------------- ---------
La razón por la que no uso el instalador precompilado es porque cuando intento ejecutar el módulo obtengo lo siguiente:
Python 2.6.3 (r263rc1:75186, Oct 2 2009, 20:40:30) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle Traceback (most recent call last): File "", line 1, in ImportError: DLL load failed: The specified module could not be found.
Supongo que eso significa que no se ha instalado correctamente. Si alguien me puede decir qué hice mal aquí, también sería una respuesta perfectamente aceptable.
----------------------------- EDIT2 -------------------- ---------
He recuperado todos los archivos de la versión 11.1.0.7 del Cliente Básico de Oracle . No he intentado instalar un cliente más sustancial. Estoy descargando uno ahora.
%ORACLE_HOME%=C:/Oracle/instantclient/ #The directory where the above files have been extracted.
Más información
- El directorio actual para el setup.py de cx_Oracle es C: / pydev / cx_Oracle-5.0.1
- La versión de Python es 2.6.3.
- El directorio actual de Python es C: / Python26: para acceder a python 2.6 -> escriba py26 en la línea de comandos y se asignará a C: / python26 / python
¿Por qué no utiliza un paquete binario como el instalador de Windows (Oracle 10g, Python 2.6) ?
Vea http://cx-oracle.sourceforge.net/ para otros paquetes binarios
Anexo (según se solicita): debe asegurarse de usar cx_Oracle que:
- establezca ORACLE_HOME si esta variable de entorno no existe (consulte esta pregunta frecuente de Oracle )
- python puede encontrar
oraocci11.dll
para Oracle 11g,oraocci10.dll
para Oracle 10g uoraclient9.dll
para Oracle 9i agregando la carpeta (debe ser% ORACLE_HOME% / bin) donde se encuentra la DLL en su variable de entorno PATH - use el paquete binario correcto (es decir, creado para las versiones correctas de Python / Oracle)
Si usas Anaconda Python x64, las cosas son easier :
conda install -c https://conda.anaconda.org/anaconda cx_oracle
(Se instalará el cliente correcto de Oracle)
Si obtiene el siguiente error:
[Anaconda2] C:/Users/User>conda install -c https://conda.anaconda.org/anaconda c
x_oracle
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata: ......
Solving package specifications: .................
Package plan for installation in environment C:/Anaconda2:
The following NEW packages will be INSTALLED:
cx_oracle: 5.1.2-py27_0
oracle-instantclient: 11.2.0.4.0-0
The following packages will be UPDATED:
conda: 3.19.1-py27_0 --> 4.0.5-py27_0
pip: 8.0.2-py27_0 --> 8.1.1-py27_0
pyyaml: 3.11-py27_2 --> 3.11-py27_3
setuptools: 19.6.2-py27_0 --> 20.3-py27_0
wheel: 0.26.0-py27_1 --> 0.29.0-py27_0
Proceed ([y]/n)? y
Unlinking packages ...
An unexpected error has occurred, please consider sending the | 0%
following traceback to the conda GitHub issue tracker at:
https://github.com/conda/conda/issues
Include the output of the command ''conda info'' in your report.
Traceback (most recent call last):
File "C:/Anaconda2/Scripts/conda-script.py", line 4, in <module>
sys.exit(main())
File "C:/Anaconda2/lib/site-packages/conda/cli/main.py", line 173, in main
args_func(args, p)
File "C:/Anaconda2/lib/site-packages/conda/cli/main.py", line 180, in args_fun
c
args.func(args, p)
File "C:/Anaconda2/lib/site-packages/conda/cli/main_install.py", line 45, in e
xecute
install.install(args, parser, ''install'')
File "C:/Anaconda2/lib/site-packages/conda/cli/install.py", line 423, in insta
ll
plan.execute_actions(actions, index, verbose=not args.quiet)
File "C:/Anaconda2/lib/site-packages/conda/plan.py", line 538, in execute_acti
ons
inst.execute_instructions(plan, index, verbose)
File "C:/Anaconda2/lib/site-packages/conda/instructions.py", line 148, in exec
ute_instructions
cmd(state, arg)
File "C:/Anaconda2/lib/site-packages/conda/instructions.py", line 95, in UNLIN
K_CMD
install.unlink(state[''prefix''], arg)
File "C:/Anaconda2/lib/site-packages/conda/install.py", line 714, in unlink
os.unlink(meta_path)
WindowsError: [Error 5] Access is denied: ''C://Anaconda2//conda-meta//conda-3.19
.1-py27_0.json''
[Anaconda2] C:/Users/User>
Intente ejecutar el indicador de Anaconda como administrador:
También necesita algún tipo de cliente Oracle instalado en su máquina, ya que cx_Oracle es solo un puente entre Python y el Cliente Oracle. Los clientes de Oracle válidos incluyen una instalación completa de Oracle (como Standard o XE) o Instant Client
Desde el README :
Tenga en cuenta que se requiere una instalación de cliente (o servidor) de Oracle para poder utilizar cx_Oracle. Si no necesita las herramientas que vienen con una instalación completa del cliente, se recomienda instalar el Instant Client, que es mucho más fácil de instalar.
No he instalado antes en Windows, pero es posible que tenga que configurar la variable de entorno ORACLE_HOME para que cx_Oracle sepa dónde buscar.