Подтвердить что ты не робот

Помощь по установке cx_Oracle

Я пытаюсь установить cx_Oracle для Python 2.6, но он не работает. Я не знаю достаточно о C или MS Vis. Компилятор Studio даже подходит для его фиксации.

Это то, что выводится в командной строке:

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

Кто-нибудь знает, как это исправить? (У меня также может быть проблема с этим файлом cl.exe, я думаю, что я помню, что это проблема как-то в другом месте, но у меня есть четыре машины Windows, которые могли иметь проблему там.).

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

Причина, по которой я не использую предварительно скомпилированный установщик, заключается в том, что когда я пытаюсь запустить модуль, я получаю следующее:

    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.

Я предполагаю, что это значит, что он не был правильно установлен. Если кто-то может сказать мне, что я сделал не так, это также будет вполне приемлемым ответом.

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

Я извлек все файлы из Oracle Basic Client версии 11.1.0.7. Я не пытался установить более существенного клиента. Я загружаю его сейчас.

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

Дополнительная информация

  • Текущий каталог для cx_Oracle setup.py - C:\pydev\cx_Oracle-5.0.1
  • Версия Python - 2.6.3
  • Текущий каталог для Python - это C:\Python26 - для доступа к python 2.6 → type py26 в командной строке, и он будет отображаться на C:\python26\python
4b9b3361

Ответ 1

Почему бы вам не использовать двоичный пакет, например Установщик Windows (Oracle 10g, Python 2.6)?

Смотрите http://cx-oracle.sourceforge.net/ для других двоичных пакетов


Добавление (по запросу): вы должны убедиться в использовании cx_Oracle, который:

  • установите ORACLE_HOME, если эта переменная среды не существует (см. этот Oracle FAQ)
  • python может найти oraocci11.dll для Oracle 11g, oraocci10.dll для Oracle 10g или oraclient9.dll для Oracle 9i, добавив папку (должен быть% ORACLE_HOME%/bin), где DLL находится в вашей переменной среды PATH
  • используйте правильный двоичный пакет (т.е. построенный для правильных версий Python/Oracle)

Ответ 2

Вам также нужен какой-то тип клиента Oracle, установленный на вашем компьютере, поскольку cx_Oracle - это всего лишь мост между Python и Oracle Client. Действующие клиенты Oracle включают полную установку Oracle (например, Standard или XE) или Instant Client

Из README:

Обратите внимание, что клиент Oracle (или сервер) требуется установка использовать cx_Oracle. Если ты не требуют инструментов, которые поставляются с полная установка клиента, это рекомендуется установить Мгновенное действие Клиент, который намного проще установить.

Я раньше не устанавливал Windows, но вам может потребоваться установить переменную окружения ORACLE_HOME, чтобы cx_Oracle знал, где искать.