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語言來完成。(如有好的解決方法,敬請留言告知)