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

Easy_install cx_Oracle (пакет python) в Windows

Итак, я нашел Справка по установке cx_Oracle, но я все еще застрял. Я загрузил последний экземпляр instantacient из oracle и установил ORACLE_HOME в расположение извлеченных файлов (как прямых, так и с папкой bin между значением ORACLE_HOME и файлами), но easy_install выдает ошибку при запуске setup.py, говоря, что он может " t найти файлы, содержащие Oracle. Я заметил, что только DLL 11g находится в папке, мне нужны все 3 драйвера для завершения установки? Если да, то где я могу их получить?

4b9b3361

Ответ 1

Честно говоря, намного проще установить cx_Oracle из одного из двоичных установщиков, чем у источника.

HOWTO для * nix:

  • Перейдите к странице загрузки Instant Client для Linux x86.

  • Загрузите последнюю версию базовых пакетов sqlplus и sdk, соответствующих вашей архитектуре (32 или 64 бит):

    • oracle-instantclient<version>-basic-<version_full>.<arch>.rpm
    • oracle-instantclient<version>-sqlplus-<version_full>.<arch>.rpm
    • oracle-instantclient<version>-devel-<version_full>.<arch>.rpm.
  • Установите RPM с помощью чужой. Например, на момент написания этой статьи:

    $ sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
    
  • Добавьте необходимые переменные среды (я лично поместил его в /etc/environment, а затем запустил/перезагрузить env):

    ORACLE_HOME=/usr/lib/oracle/<version>/client64/lib/
    LD_LIBRARY_PATH=/usr/lib/oracle/<version>/client64/lib/
    
  • Исправить оракул включает в себя:

    $ sudo ln -s /usr/include/oracle/<version>/client $ORACLE_HOME/include  # for 32bits arch, OR
    $ sudo ln -s /usr/include/oracle/<version>/client64 $ORACLE_HOME/include  # for 64bits arch
    
  • Создайте /etc/ld.so.conf.d/oracle-instantclient<version>-basic.conf и /etc/ld.so.conf.d/oracle.conf (для более поздних версий, по крайней мере с 12.1), содержащих:

      /lib  
      /usr/lib/oracle/<version>/client/lib  ; for 32bits arch, OR
      /usr/lib/oracle/<version>/client64/lib  ; for 64bits arch
    
  • Перезагрузите кеш ldconfig (используйте -v флаг, если вам нужна подробная информация):

    $ sudo ldconfig
    

Вам может потребоваться установить libaio1.

HOWTO Установите cx_Oracle

Предполагая, что мы установили Oracle Instant Client 10, у вас есть разные альтернативы для установки cx_Oracle:

  • Установить с pip: $ pip install cx_oracle (только для Linux)
  • Загрузите файл installer/.tar.gz с сайта cx_oracle PyPI

Более старые версии (версии менее 5.1.2 - файлы .msi и .rpm) можно загрузить с здесь. Установите RPM с помощью чужой. Например, на момент написания этой статьи:     $ sudo alien -i cx_Oracle-5.0-10g-py25-1.x86.rpm

Чтобы проверить, python -c 'import cx_Oracle; print cx_Oracle' должен вернуть модули своей версией.

Ответ 2

шаг 1 проверить python на 32 бит или 64

import platform
platform.architecture()[0]#'32bit'

или    введите описание изображения здесь шаг 2 установить клиент oracle (32 бит или 64 бит зависит от версии python с шага 1)

  • загрузить клиент oracle из http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html(link для 32-разрядной версии) загружать и извлекать zip файлы в одной папке
  • zip файлы извлекаются в 'installation' в этом случае
  • каталог будет выглядеть следующим образом: введите описание изображения здесь

    • щелкните по установке и установите путь к каталогам "base" и "software"

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

      • установить путь ORACLE_HOME:

      • установить исходный путь oracle в директорию 'software' как 'F:\softwares\oracle11g32\installed\software'

      • в cmd проверить 'echo% ORACLE_HOME%', чтобы убедиться, что путь установлен правильно

шаг 3 установить vcforpython27 или Visual С++ 2008 express edition для python 2.7

  • скачать его здесь https://www.microsoft.com/en-sa/download/details.aspx?id=44266 (в этом случае используется, чтобы избежать установки всего Visual С++ 2008, как указано в ниже)

  • это небольшой пакет, содержащий компиляторы С++ для python 2.7

  • (или)

  • Visual С++ 2008 express edition (https://www.microsoft.com/en-sa/download/details.aspx?id=5582) [это будет около 1 ГБ установки]

  • vcforpython27 будет установлен на 'C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft'

  • включить отображение скрытой папки в окнах к этим каталогам введите описание изображения здесь

  • установить переменную среды с именем "VS100COMNTOOLS" со значением как "C:\Users\Administrator\AppData\Local\Programs\Common\Microsoft\Visual С++ для Python\9.0 '
  • он должен указывать на каталог, содержащий командный файл vcvarsall ввести image description here

  • echo% VS100COMNTOOL%, чтобы увидеть, указывает ли он на правый каталог в cmd

  • И выполните следующие действия: (from: ошибка: не удалось найти vcvarsall.bat)

  • перейдите в C:/Python27/lib/distutils файл msvc9compiler.py. Найдите в нем функцию find_vcvarsall и выполните следующую модификацию. Замените линию: productdir = os.path.join(toolsdir, os.pardir, os.pardir, "VC" ) с productdir = os.path.join(toolsdir) Это где vcvarsall.bat находится в этом случае (проверьте, где vcvarsall.bat находится в вашей установке).

установить cx_Oracle

 the easy step: pip install cx_oracle

если все вышеперечисленные шаги соблюдены надлежащим образом, тогда это должно сработать. Чтобы понять это, потребовалось много боли. Надеюсь, это будет полезно.

рекомендуется выполнить:

 pip install --upgrade setuptools
 from : https://stackoverflow.com/questions/2667069/cannot-find-vcvarsall-bat-when-running-a-python-script

Ответ 3

Примечание. Требуется, чтобы пользователь выполнил аутентификацию с помощью OTN (сетевой учетной записи oracle tech).

1,1. Загрузите и распакуйте "Мгновенный клиентский пакет - базовый" в C:\python27\Scripts\instantclient_11_2  например instantclient-basic-windows.x64-11.2.0.4.0.zip

1,2. Загрузите и распакуйте "Мгновенный клиентский пакет - SDK" на C:\Python27\Scripts\instantclient_11_2  например  instantclient-sdk-windows.x64-11.2.0.4.0.zip

  1. установить ORACLE_HOME = C:\Python27\Scripts\instantclient_11_2

  2. python -m pip install cx_Oracle

Результат успеха: 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