pyqt5打包後因Could not find QtWebEngineProcess.exe崩潰

問題描述:

程序中使用了QtWebEngineWidgets.QWebEngineView,使用pyinstall -c -p D:xxx\xxx xxx.py打包後,打包過程正常,但是程序運行後,在使用到QWebEngineView的時候,程序崩潰,控制檯提示:Could not find QtWebEngineProcess.exe ,但是打開dist\xxx\pyqt5\Qt\bin 目錄下明明有個程序文件,但是爲何打包後的程序就是找不到呢?(源碼運行是正常的)

處理方案

百度了各種解決辦法:大致就是三種,
1、卸載pyqt5最新版(我當前是5.14版)降低版本 如:
pip uninstall pyqt5 卸載; pip install pyqt5==5.10 重裝
2、單獨安裝 PyQtWebEngine
pip install PyQtWebEngine
3、把PyQtWebEngine添加環境變量
添加環境變量的過程不復述

經歷的坑:

按上述三種辦法均嘗試過,都未解決,但是網上的這幾種說法目前也都已有問題,
比如重裝 pyqt5==5.10 和安裝 PyQtWebEngine ,他們的博客已經發了很久了,直接複製操作已經不可以了,比如安裝PyQtWebEngine也要指定版本,現在的版本是5.14,如果沒有指定版本之間安裝,那麼之前安裝的 pyqt5=5.10 會自動升級的最新版,因此在重裝的時候,兩個模塊都要指定版本,並且是相匹配的版本,否則會導致更新到最新版。目前 PyQtWebEngine 官方網頁提供的最新版已經是5.12了,所以pyqt5最低也要裝5.12,否則會自動升級到5.14
最後指定環境變量,仍然無效。
此外,我嘗試在代碼中把使用 QtWebEngineWidgets.QWebEngineView 的代碼段加上
try:
xxxx
QtWebEngineWidgets.QWebEngineView 的全部代碼
xxx
except Exception as err:
print(err)
link = “http://***.***.*.:
QtGui.QDesktopServices.openUrl(QtCore.QUrl(link))
不幸的是仍然無效,按理說加了try後不應該再導致程序因爲報錯崩潰,但實際結果還是程序崩潰!

目前結果:

仍未解決,目前無解。求大神有沒有其他解決方案,不勝感激!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章