您好,登錄后才能下訂單哦!
參考:
https://blog.csdn.net/zhaoyq008/article/details/94018743
python 打包后,在別的機(jī)器遇上運(yùn)行,提示報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容為:
Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help
根本問題:打包時(shí)未將oracle dll文件打包進(jìn)去,導(dǎo)致運(yùn)行找不到鏈接庫。
臨時(shí)解決辦法:
方法一:
1、安裝oracle 64位客戶端
2、配置環(huán)境path,將客戶端的目錄,比如d:\oracle\product\11.2.0\client_1\bin 配置到path中
3、前面兩步做完,執(zhí)行報(bào)了另一個(gè)錯(cuò) ora-01804 ,將 ORACLE_HOME目錄設(shè)置為 d:\oracle\product\11.2.0\client_1 后,問題解決。
方法二:
1、下載輕量級(jí)的Oracle客戶端: 比如 instantclient-basic-windows.x64-11.2.0.4.0.zip
2、配置環(huán)境變量path: 將客戶端的目錄,比如 D:\oracle\instantclient_11_2 添加到 path
3、配置環(huán)境變量ORACL_HOME: 將客戶端的上一級(jí)目錄 ,比如 D:\oracle 設(shè)置為ORACLE_HOME的值
4、上面3步做完,執(zhí)行報(bào)錯(cuò):```nls_lan python Error: 'ascii' codec can't encode characters in position 28-31: ordinal not in range(128),```; 然后添加環(huán)境變量NLS_LANG,設(shè)置為:AMERICAN_AMERICA.ZHS16GBK,其值是數(shù)據(jù)庫nls_database_parameters中NLS_LANGUAGE,NLS_TERRITORY,NLS_CHARACTERSET分別對(duì)應(yīng)的值; 設(shè)置完成后執(zhí)行成功。
方法三: linux 解決方法
1、下載輕量級(jí)的oracle客戶端并解壓安裝
2、配置環(huán)境變量LD_LIBRARY_PATH=[oracle客戶端安裝目錄]:$LD_LIBRARY_PATH ,NLS_LANG=[oracle數(shù)據(jù)庫NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET] ,并添加到 ~/.bash_profile 中
3、重新登錄系統(tǒng) 或 source ~/.bash_profile 使環(huán)境變量生效
4、重新執(zhí)行后成功
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。