ここで初心者がpythonを使用してデータベース分析を行おうとしています。CX_Oracleを(easy_install経由で)インストールすると、「エラー:Oracleソフトウェアのインストールが見つかりません」というエラーが表示され続けます。
問題は、ローカルマシンにOracleがないことです。pythonを使用してメインのOracleサーバーに接続しようとしています。これを行うために別のプログラムをセットアップしました(visualdb)。ドライバとして使用した.jarファイルがありましたが、この場合の使用方法がわかりません。
助言がありますか?
Easy_installまたはpipは使用しないでください。インストールスクリプトが自動的に設定しない環境依存関係がいくつかあるため、cx_Oracleのインストールにはあまりうまく機能しません。 Oracleクライアントドライバを入手する必要があります。最も早く見つけるのはinstantclientです。次に、Oracle_HOMEとPATHをドライバのインストール場所にポイントし、cx_Oracle自体をインストールします。その後は行ってもいいはずです。
参照: Windows上のeasy_install cx_Oracle(pythonパッケージ)
質問はウィンドウに関するものですが、答えには* nixに関する情報が含まれています。
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
ubuntuシステムにRPMをインストールします。
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
64ビットのOracleクライアントをインストールしているときに32ビットバージョンをインストールしようとしたときに、このメッセージが表示されました。
私のために働いたもの:64ビットでpython(何らかの理由で32を持っていた)を再インストールし、Windowsインストーラーでcx_Oracle(64ビットバージョン)をインストールし、それは完全に機能しました。
私はこれに従いました リンク 指示とそれは私のために働きました。
Oracle Basic/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
cx_Oracle
をインストールしましたが、それを使用するにはOracleクライアントもインストールする必要がありました(cx_Oracle
モジュールは、PythonでOracleクライアントとインターフェイスするための一般的なPythonの方法です)。
したがって、変数Oracle_HOME
をOracleクライアントフォルダに設定する必要があります(Unixの場合:たとえばシェル経由。Windowsの場合:構成パネルの環境変数に新しい変数が存在しない場合は作成します)。フォルダ$Oracle_HOME/network/admin
(Windowsでは%Oracle_HOME%\network\admin
)は、tnsnames.ora
ファイルを配置する場所です。
他の回答で説明されているように、.bashrc環境変数を構成した後、$Shell
と入力してターミナルウィンドウをリロードすることを忘れないでください。