一个python问题引发的思考

问题:

pyqt5下开发的时候,遇到了一个这样的问题。
Traceback (most recent call last):
File “test.py”, line 3, in 
from PyQt5.QtWebEngineWidgets import *
ImportError: dlopen(/Users/caoyin/anaconda3/lib/python3.7/site-packages/PyQt5/QtWebEngineWidgets.so, 2): Library not loaded: @rpath/QtWebEngineCore.framework/Versions/5/QtWebEngineCore
Referenced from: /Users/caoyin/anaconda3/lib/python3.7/site-packages/PyQt5/QtWebEngineWidgets.so
Reason: image not found

代码:

# minimal QWebEngine example.
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import *
from PyQt5.QtCore import QUrl
app = QApplication( [] )
view = QWebEngineView()
view.load( QUrl( "http://www.pyinstaller.org" ) )
view.show()
app.exec_()

分析:

从log上来看,是不兼容问题导致的,这个该这么办呢?首先映入脑海的就是查看python和qt5的版本,发现这两个版本都是最新的了。没发现什么异常呢?咋办吧?这种问题,看来要问度娘和谷歌了。度娘也不是一直不给力,你看这次,我就从他这边找到答案了。原来,还是pyqt5的版本问题:Note that for v5.11 and later the 32-bit Windows wheels do not contain the WebEngine modules.
接下来解决方法就明确了,两种方法都可以,亲测有效: 【方法一】 指定安装5.10.1版本的pyqt5 pip install pyqt5==5.10.1 【方法二】 单独安装WebEngine,安装命令为:

pip install PyQtWebEngine

思考:

  初级程序猿: 解决bug,首先要看log,然后是搜索,最后才是看代码,因为对绝大多数的人来说,还没有达到一眼就能把bug看出来的情况。最后实在没办法了,那就慢慢的的看log来定位了。

      高级程序猿: 看一下log,就喔的一声,我知道了。三分钟内新版本出来了。

猜你喜欢

转载自www.cnblogs.com/dylancao/p/11411933.html