1. 程式人生 > 程式設計 >總結Pyinstaller的坑及終極解決方法(小結)

總結Pyinstaller的坑及終極解決方法(小結)

一. 首先要有個穩定環境

下面是博主經測試的覺得坑比較少的環境搭配

1.Python3.4 + PyQt5.4 + Pyinstaller3.2.1
2.Python3.5 + PyQt5.8 + Pyinstaller3.2.1

二. Pyinstaller遇到坑沒必要換打包工具

博主好幾次用Pyinstaller遇到坑時都有考慮換工具如py2exe或cx-freeze之類的,依舊無法解決 (最後還是用pyinstaller解決了)
所以沒必要換其他工具,pyinstaller就夠了

三. 坑1: 打包不了,連exe都生成不出來

解決方法
直接換Pyinstaller的版本,即卸掉重灌,推薦用3.2.1

四. 坑2: exe生成了,但是跑不了

大多數情況都是被坑在這裡

解決方法
1.遇到這種問題不管彈出什麼樣的錯誤提示,在輸出exe時引數加個'-d'即debug模式,然後開啟的時候能看到列印的錯誤資訊了,這招很好用
2.留意一下程式依賴的一些資原始檔,檢查下路徑是否正確,特別是程式裡有相對路徑的; 還有一些涉及到依賴系統預設資源的如預設字型啥的,也得留意
3.換下打包方式,如onefile模式和onedir模式 (之前出現過onedir打包可以但onefile打包不行的情況)
4.環境變數PATH中加上PyQt5的plugins的路徑
5.依舊不行則換個Pyinstaller的版本,推薦用3.2.1

6.再不行則換作業系統試試,有win10跑得了但到了win7就跑不了的情況 (弄個虛擬機器測下找下問題在哪)

五. 錯誤碼集錦

main return -1
這種錯誤基本都是自己的問題,只能在輸出exe時引數加個'-d'即debug模式,然後再查下列印的錯誤資訊

Failed to execute script pyi_rth_pkgres
可以先換Pyinstaller的版本,這個錯誤會消失,但會彈出其他的錯誤資訊,然並卵
這種錯誤基本都是自己的問題,然後再查下列印的錯誤資訊

Failed to execute script xxxx
這種錯誤基本都是自己的問題,然後再查下列印的錯誤資訊

This application failed to start … Qt platform plugin …


這種錯誤先配下PyQt5的plugins的環境變數,如博主的是C:\Python34\Lib\site-packages\PyQt5\plugins
不行再換Pyinstaller的版本 (貌似3.0.0這個版本有問題,後來換3.2.1就沒事了)

到此這篇關於總結Pyinstaller的坑及終極解決方法(小結)的文章就介紹到這了,更多相關Pyinstaller的坑及解決方法內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!