2012-11-05 65 views
11

新手在這裏試圖使用python來做一些數據庫分析。我不斷收到錯誤: 「錯誤:找不到Oracle軟件安裝」安裝CX_oracle時(通過easy_install)。「錯誤:無法找到Oracle軟件安裝」嘗試安裝cx_Oracle

問題是我沒有在我的本地機器上的oracle,我試圖用python連接到主oracle服務器。我已經設置了另一個程序來做到這一點(visualdb),我有一個.jar文件,我用作驅動程序,但我不知道如何在這種情況下使用它。

有什麼建議嗎?

回答

8

不要使用easy_install或pip,因爲安裝腳本沒有自動設置,所以它們在安裝cx_Oracle時並不能很好地工作,因爲有許多環境依賴性。您需要獲得一個oracle客戶端驅動程序,其中最快的找到即時客戶端。然後將ORACLE_HOME和PATH指向驅動程序的安裝位置,然後安裝cx_Oracle本身。之後你應該很好。

看到:easy_install cx_Oracle (python package) on Windows

的問題是有關Windows,但得到的答覆包含在* nix信息。

2

我安裝了cx_Oracle,但我還必須安裝一個Oracle客戶端才能使用它(cx_Oracle模塊只是Python中與Oracle客戶端接口的一種常見和pythonic方式)。因此您必須將變量ORACLE_HOME設置爲您的Oracle客戶機文件夾(例如,在Unix上:通過一個外殼;例如:在Windows上:如果在配置面板的環境變量中不存在,則創建一個新變量)。您的文件夾$ORACLE_HOME/network/admin(在Windows上爲%ORACLE_HOME%\network\admin)是您要放置tnsnames.ora文件的位置。

1

我在安裝64位Oracle客戶端時試圖安裝32位版本時收到此消息。

對我有用:重新安裝python 64位(由於某種原因有32),安裝cx_Oracle(64位版本)與Windows安裝程序,它的工作完美。

1

我跟着這link指示,它爲我工作。

下載Oracle基本/從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 
0

安裝Oracle客戶端

  1. 下載Oracle客戶端:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    例如:Oracle的instantclient12.2-基本-12.2.0.1.0 -1.x86_64.rpm

  2. Install外星人:

    sudo apt-get install alien

  3. 安裝在Ubuntu系統中的RPM:

    sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

  4. 添加到環境變量

    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

菲娜lly

pip install cx-Oracle