將py編譯成exe文件 既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因為C語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因為C語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設計用來同時編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實際上由引導加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
pyinstaller打包py生成的exe文件運行出現(xiàn)錯誤如何解決?
仔細查找代碼,重新打包調(diào)試,確定問題是否出在pyGame的字體設置代碼中:
因為EXE打包運行成功后,系統(tǒng)無法匹配相應的字體資源,因此會給出錯誤提示并停止運行。
其次,pyinstaller不會為您打包pyGame所需的多媒體資源,這需要您手動添加。
解決字體資源問題的方法是替換以下代碼:
這樣系統(tǒng)可以調(diào)用現(xiàn)有字體,然后重新打包,然后將pyGame所需的媒體資源文件與EXE文件存儲在同一目錄下,EXE可以正常運行。