I’ve recently upgraded PyQt5 from 5.5.1 to 5.6.0 using the Windows 32-bit installer here: https://www.riverbankcomputing.com/software/pyqt/download5. I’ve also upgraded my python from 3.4 to 3.5.
When I run my old code (which used to work) with the latest version I get an exception:
from PyQt5.QtWebKitWidgets import * ImportError: No module named 'PyQt5.QtWebKitWidgets'
All of my QT calls in my python occur consecutively and are (and I know I shouldn’t be importing * but that’s beside the issue here I think):
from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtWebKitWidgets import *
So the QtCore, QtGui and QtWidgets imports are all OK.
Also, when I search the source for QtWebKitWidgets there appears several references to this module.
Finally my python path looks like:
and environment path:
QtWebKit got deprecated upstream in Qt 5.5 and removed in 5.6.
You may want to switch to PyQt5.QtWebEngineWidgets :
This supercedes the QtWebKit module and provides better and up-to-date
I was trying to run qutebrowser and it had the same error, the answer is simple, the packages changed.
You have two solutions:
pip install PyQtWebEngine
pip install PyQt5==5.11.3
Hope this helps any future problems
In PyQt5 “QtWebKitWidgets” is Deprecated. I just replace this line
from PyQt5.QtWebKitWidgets import QWebView, QWebPage from PyQt5.QtWebKit import QWebSettings
With this code:
from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings
In PyQt5 “QtWebKitWidgets” is no longer available. Instead it is replaced with “QtWebEngineWidgets”. So you have to make this change in your code.
For more information: http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
If you really want to use
PyQt5.QtWebKitWidgets, you could run this from the command line:
pip install PyQtWebKit
and let it do what it does.