校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 解決Pyinstaller打包為可執行文件編碼錯誤的問題

解決Pyinstaller打包為可執行文件編碼錯誤的問題

熱門標簽:如何在地圖標注文字 百應ai電銷機器人鄭州 n400電話申請多少錢 廈門crm外呼系統如何 ai地圖標注 長春人工智能電銷機器人官網 女王谷地圖標注 西藏快速地圖標注地點 地圖標注推廣單頁

錯誤信息

UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xce in position ***

解決方案

命令行中先輸入

chcp 65001

再輸入打包命令。

pyinstaller -F xxx.py

補充:pyinstaller打包python程序時遇到遞歸超界和字符編碼錯誤的問題與解決方法

打包命令:pyinstaller -F xx.py

-F一定要加上,其含義是生成獨立的可執行文件

問題一:超過遞歸深度

由于python文件中可能存在遞歸運算,實際執行時沒什么問題,但打包時報錯,錯誤信息如下

RecursionError: maximum recursion depth exceeded

大體意思就是說遞歸深度超過程序允許的界限了,最大是1000.

在執行完成后雖然報錯,但是與xx.py文件同級目錄下會生成一個xx.spec文件,打開這個文件,xx.py第一行是字符編碼,在代碼的第二三行加入下面兩句代碼。

然后執行下面代碼(千萬不要再去執行原來的打包命令)

pyinstaller xx.spec

import sys
sys.setrecursionlimit(6000)

問題二:打包時報告編碼錯誤

錯誤信息如下:

UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xce in position 121: invalid start byte

可能有點蒙圈,明明代碼中進行了代碼聲明為什么還報錯,不要慌,在dos窗口(windows+R,輸入cmd)輸入打包命令之前先輸入下面的命令,執行回車

chcp 65001

然后再輸入打包命令。如果開始因為遞歸出錯,修改spec文件后又出現編碼錯誤,此時打包命令仍然執行

pyinstaller xx.spec

問題三:原代碼中存在的文件讀取路徑,打包后報錯,找不到路徑

原來代碼如下:

使用abspath獲取路徑行不通,在程序運行時不會出錯,打包時要替換為下面獲取路徑的代碼

import os
path1 = os.path.dirname(os.path.abspath(__file__))
path2 = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

替換為

import os
import sys
path1 = os.path.dirname(os.path.realpath(sys.executable))
path2 = os.path.dirname(os.path.dirname(os.path.realpath(sys.executable)))

問題四:打包時沒問題,生成exe閃退,也看不到報錯信息。

解決方法:打開一個dos窗口,將exe文件拖拽到dos窗口內,然后回車執行。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 總結Pyinstaller的坑及終極解決方法(小結)
  • 解決Pyinstaller打包軟件失敗的一個坑
  • 使用PyInstaller將Python程序文件轉換為可執行程序文件
  • 利用pyinstaller打包exe文件的基本教程
  • Python中用pyinstaller打包時的圖標問題及解決方法

標簽:內江 渭南 拉薩 亳州 黔東 廊坊 綿陽 興安盟

巨人網絡通訊聲明:本文標題《解決Pyinstaller打包為可執行文件編碼錯誤的問題》,本文關鍵詞  解決,Pyinstaller,打包,為,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決Pyinstaller打包為可執行文件編碼錯誤的問題》相關的同類信息!
  • 本頁收集關于解決Pyinstaller打包為可執行文件編碼錯誤的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 万宁市| 桃园市| 安达市| 岢岚县| 乌鲁木齐市| 青岛市| 崇礼县| 灵石县| 泗水县| 会泽县| 滨海县| 康马县| 丘北县| 宜黄县| 东宁县| 海兴县| 双桥区| 闽清县| 襄汾县| 蒙阴县| 府谷县| 华坪县| 镇赉县| 郸城县| 定兴县| 海伦市| 潜山县| 曲松县| 宿松县| 濮阳县| 三明市| 铜陵市| 苏尼特右旗| 陈巴尔虎旗| 台安县| 临桂县| 丹阳市| 巢湖市| 柳江县| 航空| 宁明县|