設定しようとしていますcx_Oracle
Pythonで動作します。
私は使っている
cx_Oracle
バージョン6.0.2次の環境変数を設定します。
export Oracle_HOME="/Volumes/DATA/Programs/PY/instantclient_12_1"
export DYLD_LIBRARY_PATH="$Oracle_HOME:$DYLD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$Oracle_HOME
export PATH=$PATH:$Oracle_HOME
export Oracle_SID=edocd
export TNS_ADMIN=/Volumes/DATA/Programs/PY/instantclient_12_1/network/admin
export TWO_TASK=${Oracle_SID}
ここに私が試したものがあります:
Sudo python setup.py build
Sudo python setup.py install
Oracle接続を確認するために簡単なスクリプトを実行しようとしたときに、sqlplus
経由で正常に接続できました。
ここに私が受け取るエラーがあります:
cx_Oracle.DatabaseError:DPI-1047:64ビットOracleクライアントライブラリをロードできません: "dlopen(libclntsh.dylib、1):image not found"。 https://Oracle.github.io/odpi/doc/installation.html#macos を参照してください
Ubuntu 16.04(64bit)用の私のソリューション
公式ガイド :のtl; dr:
1) instantclient-basic-linux.x64-12.2.0.1.0.Zip をダウンロードします
2)/ opt/Oracleディレクトリに抽出します:
$ Sudo mkdir -p /opt/Oracle
$ cd /opt/Oracle
$ unzip ~/Downloads/instantclient-basic-linux.x64-12.2.0.1.0.Zip
3)libaioパッケージをインストール
$ Sudo apt-get install libaio1
4)Oracle-instantclient.confファイルを次のように編集します。
$ Sudo sh -c "echo /opt/Oracle/instantclient_12_2 > /etc/ld.so.conf.d/Oracle-instantclient.conf"
$ Sudo ldconfig
リンク${your_instantclient_folder}
-> ${Oracle_home}/lib
cd ${Oracle_HOME};
unzip instantclient-basic-macos.x64-x.x.x.Zip
ln -s instantclient_X_X lib
@ anthony-tuiningaの答えを拡張するには:エラーメッセージのURLには従うべき手順があります。 https://Oracle.github.io/odpi/doc/installation.html#macos を参照してください。特に、Oracleクライアントライブラリが〜/ libまたは/ usr/local/libにあることを確認してください。 DYLD_LIBRARY_PATHまたはLD_LIBRARY_PATHまたはOracle_HOMEを設定しないでください。
私のために
source ~/.profile
インストール中にスキップしたステップでした。