【建置環境說明】
我的開發環境是win11,python是3.10.7版本,編碼的工具是Visual Studio Code(簡稱vscode)。
【打包前提說明】
需先完成 python kivy app 開發,本機環境測試ok,範例:在專案資料夾裡有main.py、countinmind.kv、CountInMindIco.ico以及font資料夾(裡面有TW-Kai-98_1.ttf文字檔案)
【本篇說明:遇到問題解決方式】
情境:在我運行 PyInstaller執行打包出現completed successfully,然後在目標資料夾出現build及dist兩個資料夾,在dist裡面有CountInMind資料夾內有_internal資料夾及CountInMind.exe問題1:
打包完成後,點擊這個exe檔出現錯誤訊息:Failed to execute script 'pyiboot01_bootstrap' due to unhandled exception: Bootloader did not set sys._pyinstaller_pyz! Failed to obtain/convert traceback!!
解決方法1:
更新 PyInstaller 版本,輸入以下:
pip install --upgrade pyinstaller
解決方法2:
確保所有的依賴庫正確安裝,依序輸入以下:
pip list
pip install kivy[base] kivy_deps.sdl2 kivy_deps.glew
pip install wheel
問題2:
我重新打包.spec檔案,然後執行exe檔案,出現:OSError: Label: File './font/TW-Kai-98_1.ttf' not found
大概是找不到文字檔案。
解決方法1:
在.spec檔案添加以下:
datas=[('C:\Users\CFuser\Desktop\python\Kivy\CountInMindApp\countinmind_win11\countinmind.kv', '.'),('C:\Users\CFuser\Desktop\python\Kivy\CountInMindApp\countinmind_win11\CountInMindIco.ico', '.'),('C:\Users\CFuser\Desktop\python\Kivy\CountInMindApp\countinmind_win11\font\TW-Kai-98_1.ttf', 'font'),],
如圖↓

解決方法2:
最後我解決的方式,是直接把font資料夾放在.exe檔案旁邊,就正常開啟exe。
如圖↓

【本篇小結】
本篇是我打包過程中遇到的情況,當下都是花了很多時間找出問題並嘗試各種方式才得以解決,希望也能提供給需要的人有效的解決方法。