Frage

Ich versuche, die cx_Oracle für Python 2.6 zu installieren, aber es ausfällt. Ich weiß nicht genug über C oder MS Vis. Studio Compiler selbst zu nähern, es selbst zu befestigen.

Dies ist, was die Ausgabe auf der Kommandozeile ist:

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

Hat jemand eine Idee, wie dieses Problem beheben? (I kann auch ein Problem mit dieser cl.exe Datei hat, ich glaube, ich erinnere mich, dass dies als ein Problem woanders, aber ich habe vier Windows-Rechner, die Frage dort gehabt haben könnte.).

----------------------------- EDIT -------------- ---------------

Der Grund, warum ich die vorkompilierte nicht Installer verwenden ist, weil, wenn ich versuche, das Modul auszuführen ich folgende bekommen:

    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.

Ich gehe davon aus, dass bedeutet, dass es nicht richtig installiert ist. Wenn jemand kann mir sagen, was ich falsch hier getan hat, dass auch eine durchaus akzeptable Antwort sein würde.

----------------------------- EDIT2 -------------- ---------------

Ich habe abgerufen alle Dateien von Oracle Basic-Client Version 11.1.0.7. Ich habe nicht versucht, eine wesentlichere Client installieren. Ich lade jetzt ein.

%ORACLE_HOME%=C:\Oracle\instantclient\ #The directory where the above files have been extracted.

Weitere Informationen

  • Das aktuelle Verzeichnis für die setup.py cx_Oracle das C: \ pydev \ cx_Oracle-5.0.1
  • Die Version von Python ist 2.6.3
  • Das aktuelle Verzeichnis für Python ist C: \ Python26 - der Zugriff auf Python 2.6 -> Typen py26 auf der Kommandozeile, und es wird auf C Karte: \ python26 \ Python
War es hilfreich?

Lösung

Warum Sie nicht verwenden, um ein Binärpaket wie Windows Installer (Oracle 10g, Python 2.6) ?

Siehe http://cx-oracle.sourceforge.net/ für andere Binärpakete


Addendum (wie gewünscht): Sie müssen sicherstellen, die cx_Oracle zu verwenden, die:

  • set ORACLE_HOME wenn diese Umgebungsvariable nicht existiert (siehe diese Oracle FAQ )
  • Python kann durch Hinzufügen des Ordners oraocci11.dll für Oracle 11g, oraocci10.dll für Oracle 10g oder oraclient9.dll für Oracle 9i finden (sollte% ORACLE_HOME% / ist), wo die DLL in der PATH-Umgebungsvariable ist
  • verwenden, um die richtige Binärpaket (das heißt für die richtige Python / Oracle-Versionen gebaut)

Andere Tipps

Sie müssen auch eine Art von Oracle-Client auf dem Computer installiert, da cx_Oracle nur eine Brücke zwischen Python und dem Oracle-Client ist. Gültige Oracle Kunden gehören eine vollständige Oracle-Installation (wie Standard oder XE) oder die Sofort Client

Von der README :

  

Bitte beachten Sie, dass ein Oracle-Client (oder   Server) Installation erforderlich in   bestellen cx_Oracle zu verwenden. Wenn Sie nicht   erfordern die Werkzeuge, die mit einem kommen   vollständige Client-Installation ist es   empfohlen, die Instant-Installation   Client, der viel einfacher zu installieren ist.

Ich habe auf Windows bevor nicht installiert, aber Sie können die Umgebungsvariable ORACLE_HOME gesetzt haben, so dass cx_Oracle weiß, wo zu suchen.

Wenn Sie Anaconda Python x64 verwenden, sind die Dinge einfacher :

conda install -c https://conda.anaconda.org/anaconda cx_oracle

(Es wird das richtige Oracle-Client installieren)


Wenn Sie die folgende Fehlermeldung erhalten:

[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>

Versuchen Sie, die Anaconda Aufforderung als Administrator ausgeführt werden:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top