1、下載 oracle client instant 和 sdk, 全部解壓到 /opt/instantclient_11_2/
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
instantclient-basic-linux.x64-11.2.0.4.0.zip instantclient-sdk-linux.x64-11.2.0.4.0.zip
2、設置環境變量
export ORACLE_HOME=/opt/instantclient_11_2/
#添加頭文件的搜索路徑
export C_INCLUDE_PATH=/opt/instantclient_11_2/sdk/include/
#添加庫搜索路徑
export LD_LIBRARY_PATH=/opt/instantclient_11_2/
#設置符號鏈接,以便安裝時能找到
ln -s /opt/instantclient_11_2/libclntsh.so.11.1 /opt/instantclient_11_2/libclntsh.so
3、安裝 cx_Oracel
pip install cx_Oracle
PS:
如果另開一個 terminal,在 python 中執行 import cx_Oracle 會提示未找到共享庫。
應該是之前設置的環境變量失效了,故可修改用戶的配置文件:~/.bashrc
在里面加一行:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instantclient_11_2/
總結:
使用 pip 安裝 cx_Oracle 的過程中要 檢測 instantclient,編譯源碼,進行安裝。
其中環境變量 ORACLE_HOME 用於表示 instantclient 的安裝位置,
C_INCLUDE_PATH 供 gcc 查找 頭文件的路徑,
LD_LIBRARY_PATH 用於 cx_Oracle的鏈接階段和執行階段。