macOS Python3.7安裝cx_Oracle連接Oracle

環(huán)境

macOS 10.14.5
Python3.7

一:安裝cx_Oracle

注意Mac自帶Python2,安裝時(shí)不要裝錯(cuò)了,可以在PyCharm中直接安裝避免按錯(cuò)到Python2上。

方法一:

  1. 到PyCharm>>Preferences>>Project:newPro>>Project Interpreter中Project Interpreter選擇 Python3.7:然后點(diǎn)擊“+”,并搜索cx-Oracle;
  2. 然后點(diǎn)擊Install Package

如果報(bào)以下錯(cuò)誤
“xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun”
需升級(jí)xcode或執(zhí)行以下命令:

xcode-select --install

方法二:
直接在終端中執(zhí)行:

python3 -m pip install cx_Oracle --upgrade  #這里要注意是給Python3安裝

如果也報(bào)以下錯(cuò)誤
“xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun”
還是需要升級(jí)xcode或執(zhí)行以下命令:

xcode-select --install

如果提示“Consider using the --user option or check the permissions.”可嘗試執(zhí)行以下命令,然后輸入密碼:

sudo python3 -m pip install cx_Oracle --upgrade

二:下載oracle instant client zip

到oracle官網(wǎng)下載instantclient-basic-macos.x64-18.1.0.0.0.zip:
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html
不過(guò)需要先注冊(cè)才可以下載。

三:安裝oracle instant client zip

下載后打開(kāi)終端:

  1. 新建一個(gè)文件夾
??sudo mkdir -p /opt/oracle
  1. 將下載的oracle instant client zip移動(dòng)到剛建好的文件夾中
sudo mv /Users/{UserName}/Downloads/instantclient-basic-macos.x64-18.1.0.0.0.zip /opt/oracle/
  1. 切換到該目錄下
cd /opt/oracle/
  1. 解壓文件
sudo unzip instantclient-basic-macos.x64-18.1.0.0.0.zip
  1. 再新建一個(gè)文件夾
 mkdir ~/lib
  1. 建立連接
ln -s /opt/oracle/instantclient_18_1/libclntsh.dylib ~/lib/
  1. 復(fù)制OCI庫(kù)
cp /opt/oracle/instantclient_18_1/{libclntsh.dylib.18.1,libclntshcore.dylib.18.1,libons.dylib,libnnz18.dylib,libociei.dylib} ~/lib/
  1. Instant Client鏈接的應(yīng)用程序的默認(rèn)Oracle配置目錄
mkdir -p /opt/oracle/instantclient_18_1/network/admin

四、測(cè)試是否成功導(dǎo)入

在Python交互模式下import cx_Oracle:

>>>import cx_Oracle

如果沒(méi)報(bào)錯(cuò)就表示安裝成功。

嘗試連接數(shù)據(jù)庫(kù):

>>>cx_Oracle.connect('user/password@dsn')    #如:cx_Oracle.connect('user/password@127.0.0.1:1521/orcl') 記得加/orcl

翻了其他人的總結(jié),有的人更改了注冊(cè)表配置了環(huán)境變量,但是我沒(méi)改

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容