1. 程式人生 > >Pygame使用pyinstaller打包exe無法執行,顯示 failed to execute script的問題

Pygame使用pyinstaller打包exe無法執行,顯示 failed to execute script的問題

問題描述

最近pyinstaller更新後終於支援python3.6了,我就迫不及待的想用它來打包釋出我平常用pygame做的小遊戲,在命令框中執行

pyinstaller -D -m xxx.py

打包是成功的,但是執行會顯示已停止程式,或是顯示 failed to execute script

原因剖析

經過我查詢程式碼一次次的打包終於發現是出在pygame的字型設定程式碼上,原來錯誤的程式碼如下:

font=pygame.font.Font(None,36)#匯入字型

因為打包後的exe找不到字型資源,所以就出錯了。。

另一種可能是pygame需要的資源如圖片音樂等pyinstaller是不會給你打包的

,需手動加入。

解決方法

將程式碼替換為:

font=pygame.font.SysFont('arial',36)

這樣就能呼叫系統已有的字型,

再次打包,最後將pygame需要的資源如圖片音樂等檔案與exe放在同一目錄下,執行exe就不會出錯了