Question :
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:
C:PYTHON35;C:PYTHON35DLLs;C:PYTHON35LIB;C:PYTHON35LIBLIB-TK;
and environment path:
C:Python35Libsite-packagesPyQt5;C:Python35;C:Python35Lib;C:Python35Libsite-packages;C:Python35Scripts ....
Answer #1:
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
support for HTML, CSS and JavaScript features
Answer #2:
I was trying to run qutebrowser and it had the same error, the answer is simple, the packages changed.
You have two solutions:
1)
pip install PyQtWebEngine
2)
pip install PyQt5==5.11.3
Hope this helps any future problems
Answer #3:
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
Answer #4:
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
Answer #5:
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.