【爬坑】python3+pyqt5+pyinstaller 打包成exe的各種問題


windows系統+python3+pyqt5+pyinstaller打包,經常會出現各種打包異常情況。
如果代碼沒有特別異常,那么綜合原因,大抵都是這四個元素之間的匹配問題,引起的。
作者:一心獅
鏈接:https://www.imooc.com/article/74152#
來源:慕課網
本文原創發布於慕課網 ,轉載請注明出處,謝謝合作

1.windows系統的版本和位數 (mac系統和linux 沒有進行測試過)

2.python3的版本和位數

3.pyqt5的版本和位數 (如果pip安裝,則位數同python3)

4.pyinstaller的版本和位數(一般pip安裝,無需考慮位數)

####坑1.pyinstaller打成的包,可以在64位操作系統使用,無法在32位操作系統使用

坑的成因:
python存在64位版本和32位版本。
64位版本打成的包,只能在64位操作系統使用。
32位版本打成的包,即可以在64位操作系統使用,也可以在32位操作系統使用。

解決方案:
重新安裝32位版本的python,進行開發。

####坑2.pyinstaller打成的包,可以在win7以上操作系統使用,無法在xp操作系統使用

坑的成因:
python3 從3.5版本開始,就已經不支持xp操作系統了。

解決方案:
重新安裝3.4版本的python,進行開發。

####坑3.pyqt5應用,開發運行時是正常,但pyinstaller打成的包,界面失真變丑。

坑的成因:
pyinstaller 不支持最新版本的pyqt5。

解決方案:
重新安裝低版本的pyqt5,進行開發。(當前推薦:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2

####坑4.pyqt5應用,開發運行時是正常,但pyinstaller打成的包,無法運行,提示failed to execute script xxx。

坑的成因:(同坑3)
pyinstaller 不支持最新版本的pyqt5。

解決方案:(同坑3)
重新安裝低版本的pyqt5,進行開發。(當前推薦:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2

####坑5.pyqt5應用,開發運行時是正常,但pyinstaller無法打包成功。

坑的成因:(同坑3)
pyinstaller 不支持最新版本的pyqt5。

解決方案:(同坑3)
重新安裝低版本的pyqt5,進行開發。(當前推薦:5.8.2版本)
命令
pip uninstall pyqt5
pip install pyqt5==5.8.2

####坑6.pip install pyqt5,安裝不了pyqt5,提示找不到資源。

坑的成因:
你的python3可能是最新版本,pyqt5-tools還不支持最新版本的python3

解決方案:
重新安裝低版本的python3,進行開發。(當前推薦:3.6.6版本)

####坑7.pip install pyqt5-tools,安裝不了pyqt5-tools,提示找不到資源。

坑的成因:
你的python3可能是最新版本,pyqt5-tools還不支持最新版本的python3

解決方案:
重新安裝低版本的python3,進行開發。(當前推薦:3.6.6版本)

####坑8.pip install pyqtchart,但是安裝不了pyqtchart。

坑的成因:
pyqtchart對pyqt5的版本有依賴需求。

解決方案:
針對pyqt5的版本進行安裝。
命令如: pip install pyqtchart==5.8

####坑9.pip install pyqtdatavisualization,但是安裝不了pyqtdatavisualization。

坑的成因: (同坑8)
pyqtdatavisualization對pyqt5的版本有依賴需求。

解決方案:(同坑8)
針對pyqt5的版本進行安裝。
命令如: pip install pyqtdatavisualization==5.8

####坑10.python3的orm技術,使用sqlalchemy模塊,開發運行時都是正常的,但pyinstaller打成的包,數據庫執行異常。

坑的成因:
pyinstaller打成的包,在執行連表后的對象屬性讀取時,失敗。

解決方案:
找不到好的解決方法,只能換回sql語言來完成。(如有好的解決方法,敬請留言告知)

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM