問題
操作系統64為,Python64位,Oracle客戶端32位。因為其他原因,不能將Oracle客戶端改成64位,所以導致cx_Oracle64位無法使用,cx_Oracle32位無法安裝。
原因
Windows環境下,如果安裝的是64位Python,在使用cx_Oracle時,默認調用的是64位Oracle客戶端,這時我們也只能安裝cx_Oracle的-win_amd64位版。
解決方法:
1.先去安裝與當前Python版本相匹配的cx_Oracle,我的是Python3.8。安裝的版本為:cx_Oracle-8.3.0-cp38-cp38-win_amd64.whl
2.下載相關的Oracle instantclient(即時客戶端),並解壓到方便調用的文件夾
下載地址:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
我下載的版本為:instantclient-basiclite-windows.x64-19.13.0.0.0dbru.zip,可以多試幾次,總有一款適合你
3.解壓instantclient,在python代碼中,更改環境變量,以調整Oracle驅動位置。
我這邊解壓后的地址為:
E:\software\Python\instantclient-basiclite-windows.x64-19.13.0.0.0dbru
代碼調整方式為
import os
os.environ['path'] = r'E:\software\Python\instantclient-basiclite-windows.x64-19.13.0.0.0dbru\instantclient_19_13'
import cx_Oracle
現在cx_Oracle就可以正常調用了