使用PyInstaller打包成.exe檔出現錯誤訊息的解決方式

更新 發佈閱讀 4 分鐘



【建置環境說明】

我的開發環境是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'),],

如圖↓

raw-image

解決方法2:

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

如圖↓

raw-image

【本篇小結】

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


留言
avatar-img
留言分享你的想法!
avatar-img
艾肯比工程師
2會員
57內容數
主要分享應用程式開發過程、遭遇困難及解決技巧,提供給自學或獨立開發者做為參考,希望能對您們有所幫助。
艾肯比工程師的其他內容
2025/06/19
說明如何在Windows系統下,安裝VirtualBox虛擬機及Ubuntu的過程步驟,以利後續Android APK打包。
Thumbnail
2025/06/19
說明如何在Windows系統下,安裝VirtualBox虛擬機及Ubuntu的過程步驟,以利後續Android APK打包。
Thumbnail
2025/06/16
使用PyInstaller打包Kivy應用程式成Windows可執行檔(.exe)的教學,包含詳細步驟與注意事項。
Thumbnail
2025/06/16
使用PyInstaller打包Kivy應用程式成Windows可執行檔(.exe)的教學,包含詳細步驟與注意事項。
Thumbnail
2025/06/12
2025/06/12
看更多
你可能也想看
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
在離線環境需要安裝Python套件時就相當的麻煩,需要先下載好套件包,在打指令安裝,若套件數量一多時就會相當麻煩。 本文將介紹如何利用兩行指令快速的安裝整個資料夾的套件。
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
Thumbnail
在讀取檔案時,最怕路徑的問題,常常會有路徑錯誤造成的異常報錯。 為了避免諸如此類的問題發生,明白程式的當前目錄與檔案的路徑是很重要的。 可以利用os 模組是 Python 中的一個標準庫,提供了許多與操作系統的功能。 以下是一些常用的 os 模組基本操作及其範例: 1. os.getcwd
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
在實務上,若Python報錯時,若引入的套件越多伴隨的異常訊息會變得越來越複雜,看到一推密密麻麻的內容時,很多時候都想直接跳過。 本文將利用Traceback來讓異常訊息變得更好理解。
Thumbnail
在實務上,若Python報錯時,若引入的套件越多伴隨的異常訊息會變得越來越複雜,看到一推密密麻麻的內容時,很多時候都想直接跳過。 本文將利用Traceback來讓異常訊息變得更好理解。
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
在Python中,import是一個關鍵字,用於將其他模組或套件中的程式碼引入到當前的程式中以供使用。 這個關鍵字允許你在你的程式中使用其他地方定義的變數、函式和類等。 當你使用import時,Python會搜索指定模組或套件的位置,並將其中的程式碼載入到你的程式中,這樣你就可以在程式中使用它們
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
Thumbnail
情況描述 我們在「【🔒 Python 先修班】教你親手打包專屬套件庫的手作課(pip install…)」有提到如何打包Python讓自己的程式變成套件, 讓其他人可以用pip install的方式進行安裝,😲 But… 我們實際上打包後, 發現到引用的檔案都有被打包進去,但目錄卻未被打包
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News