"ошибка: не удается найти установку программного обеспечения Oracle" При попытке установить cx_Oracle
Новичок здесь пытается использовать python для анализа базы данных. Я продолжаю получать ошибку:
"Ошибка: не удается найти установку программного обеспечения Oracle" При установке CX_oracle (через easy_install).
Проблема в том, что у меня нет оракула на моей локальной машине, я пытаюсь использовать python для подключения к основному серверу oracle. У меня есть другая программа для этого (visualdb), и у меня был файл .jar, который я использовал в качестве драйвера, но я не уверен, как его использовать в этом случае.
Любые предложения?
Ответы
Ответ 1
Не используйте easy_install или pip, они не очень хорошо работают для установки cx_Oracle, так как существует ряд экологических зависимостей, которые скрипты установки не настраиваются автоматически. Вам нужно получить драйвер клиента oracle, самый быстрый из которых - это instantclient. Затем укажите ORACLE_HOME и PATH в месте установки драйверов и установите сам cx_Oracle. После этого вы должны быть добры.
см. easy_install cx_Oracle (пакет python) в Windows
Вопрос о окнах, но ответ включает информацию о * nix.
Ответ 2
Установите клиент Oracle
-
Загрузите клиент Oracle: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Пример: oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
-
Установите Alien:
sudo apt-get install alien
-
установите RPM в системе Ubuntu:
sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm'
-
Добавить в переменные среды
vim ~/.bashrc
export ORACLE_HOME=/usr/lib/oracle/12.2/client64/lib/
export LD_RUN_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_RUN_PATH
source ~/.bashrc
sudo ln -s /usr/lib/oracle/12.2/client64 $ORACLE_HOME/include'
в заключение
pip install cx-Oracle
Ответ 3
Я установил cx_Oracle
, но мне также пришлось установить клиент Oracle для его использования (модуль cx_Oracle
- это просто общий и питонический способ взаимодействия с клиентом Oracle на Python).
Итак, вы должны установить переменную ORACLE_HOME
в свою клиентскую папку Oracle (например, в Unix: через оболочку, в Windows: создать новую переменную, если она не существует в переменных среды на панели конфигурации), Ваша папка $ORACLE_HOME/network/admin
(%ORACLE_HOME%\network\admin
в Windows) - это место, где вы поместите свой файл tnsnames.ora
.
Ответ 4
Я получил это сообщение, когда пытался установить 32-битную версию, имея 64-битный клиент Oracle.
Что сработало для меня: переустановил python с 64-разрядным (по какой-то причине 32), установил cx_Oracle (64-разрядная версия) с установщиком Windows, и он отлично работал.
Ответ 5
Я следил за этой ссылкой, и это сработало для меня.
Загрузите Oracle Basic/SDK из:
Oracle Instant Client Basic
Oracle Instant Client SDK
mkdir /Users/<username_here>/oracle
mv /Users/<username_here>/Downloads/instantclient-*
/Users/<username_here>/oracle
cd /Users/<username_here>/oracle
unzip instantclient-basic-macos.x64-11.2.0.3.0.zip
unzip instantclient-sdk-macos.x64-11.2.0.3.0.zip
cd instantclient_11_2/sdk
unzip ottclasses.zip
cd ..
cp -R ./sdk/* .
cp -R ./sdk/include/* .
ln -s libclntsh.dylib.11.1 libclntsh.dylib
ln -s libocci.dylib.11.1 libocci.dylib
vim ~/.bash_profile (and below to bash_profile)
export ORACLE_HOME=/Users/<username_here>/oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=$ORACLE_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME
pip install cx_Oracle
После этого, если вы получите сообщение об ошибке:
1): библиотека не загружена:
/ade/b/ 3071542110/oracle/rdbms/lib/libclntsh.dylib.11.1
вам нужно:
sudo mkdir -p /ade/b/3071542110/oracle/rdbms/lib/
cd /ade/b/3071542110/oracle/rdbms/lib/
sudo ln -s /opt/oracle/instantclient/libclntsh.dylib.11.1 libclntsh.dylib.11.1
Ответ 6
Совет для пользователей Ubuntu
После настройки переменных среды .bashrc, как это объяснялось в других ответах, не забудьте перезагрузить окно терминала, набрав $SHELL
.