Python安裝cx_Oracle模組遇到的問題

資料與人發表於2021-04-15

環境:

win7 32位系統

Python3.6 (32bit)

 

安裝模組:

cx_Oracle模組下載(下載地址: )

如是在網站上下載, 切記需下載和python版本對應的.因為我之前在64位系統安裝時,一直用的是cx_Oracle-5.3+oci12c-cp36-cp36m-win_amd64.whl此檔案,故此次安裝時就下載了對應32位系統的 .

使用pip install path 安裝,path是該檔案的所在路徑

 

Oracle客戶端 instantclient_12_1(下載地址: )

因為cx_Oracle檔案下載的是

將下載的instantclient-basic-nt-12.1.0.2.0檔案中的 oci.dll oraociei12.dll和oraocci12.dll三個檔案複製到python安裝路徑(例如我自己D:\soft\Python36\Lib\site-packages)下.

 

問題

在IDLE中執行

1 import cx_Oracle

 

報錯: ImportError: DLL load failed:找不到指定的模組

出現此問題的原因一般是:沒有copy 之前提到的oci.dll檔案或者是Oracle客戶端版本與cx_Oracle版本不一致

而我已經copy了oci.dll檔案。而且就檔名稱判斷來二者版本是一致的

我測試了所有12版本的Oracle客戶端,包括64位,均沒有成功。(測試64位的時候報錯: ImportError: DLL load failed: %1 不是有效的 Win32 應用程式,意思是作業系統、cx_Oracle和instantclient的位數不同,當時實在是想不到別的辦法,就各種嘗試)

後來意識到或許是cx_Oracle的問題。。。

 

解決辦法

在cmd中執行

pip install -U cx_Oracle

更新cx_Oracle模組到最新版本,問題解決。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69997824/viewspace-2768088/,如需轉載,請註明出處,否則將追究法律責任。

相關文章