web-dev-qa-db-ja.com

「エラー:Oracleソフトウェアのインストールが見つかりません」cx_Oracleをインストールしようとしたとき

ここで初心者がpythonを使用してデータベース分析を行おうとしています。CX_Oracleを(easy_install経由で)インストールすると、「エラー:Oracleソフトウェアのインストールが見つかりません」というエラーが表示され続けます。

問題は、ローカルマシンにOracleがないことです。pythonを使用してメインのOracleサーバーに接続しようとしています。これを行うために別のプログラムをセットアップしました(visualdb)。ドライバとして使用した.jarファイルがありましたが、この場合の使用方法がわかりません。

助言がありますか?

12
user1735075

Easy_installまたはpipは使用しないでください。インストールスクリプトが自動的に設定しない環境依存関係がいくつかあるため、cx_Oracleのインストールにはあま​​りうまく機能しません。 Oracleクライアントドライバを入手する必要があります。最も早く見つけるのはinstantclientです。次に、Oracle_HOMEとPATHをドライバのインストール場所にポイントし、cx_Oracle自体をインストールします。その後は行ってもいいはずです。

参照: Windows上のeasy_install cx_Oracle(pythonパッケージ)

質問はウィンドウに関するものですが、答えには* nixに関する情報が含まれています。

9
Silas Ray

OracleClientをインストールします

  1. Oracleクライアントのダウンロード: http://www.Oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    :Oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm

  2. Alienをインストールします。

    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`
    

最後に

pip install cx-Oracle
4
Thiago Falcao

64ビットのOracleクライアントをインストールしているときに32ビットバージョンをインストールしようとしたときに、このメッセージが表示されました。

私のために働いたもの:64ビットでpython(何らかの理由で32を持っていた)を再インストールし、Windowsインストーラーでcx_Oracle(64ビットバージョン)をインストールし、それは完全に機能しました。

2
Carni

私はこれに従いました リンク 指示とそれは私のために働きました。

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
2
Arun Gopalpuri

cx_Oracleをインストールしましたが、それを使用するにはOracleクライアントもインストールする必要がありました(cx_Oracleモジュールは、PythonでOracleクライアントとインターフェイスするための一般的なPythonの方法です)。

したがって、変数Oracle_HOMEをOracleクライアントフォルダに設定する必要があります(Unixの場合:たとえばシェル経由。Windowsの場合:構成パネルの環境変数に新しい変数が存在しない場合は作成します)。フォルダ$Oracle_HOME/network/admin(Windowsでは%Oracle_HOME%\network\admin)は、tnsnames.oraファイルを配置する場所です。

2
Emmanuel

Ubuntuユーザー向けのヒント

他の回答で説明されているように、.bashrc環境変数を構成した後、$Shellと入力してターミナルウィンドウをリロードすることを忘れないでください。

1
Hosana Gomes