在PyQt5中无法导入QtWebKitWidgets

31

我最近用这里的 Windows 32 位安装程序https://www.riverbankcomputing.com/software/pyqt/download5,将 PyQt5 从 5.5.1 升级到了 5.6.0。同时我也把 Python 从 3.4 升级到了 3.5。

当我用最新版本运行以前正常工作的旧代码时,会出现异常:

    from PyQt5.QtWebKitWidgets import *
ImportError: No module named 'PyQt5.QtWebKitWidgets'

我所有的Python QT调用按顺序执行,而且它们是这样的(我知道不应该使用*来导入,但那并不是重点):

        from PyQt5.QtCore import *
        from PyQt5.QtGui import *
        from PyQt5.QtWidgets import *
        from PyQt5.QtWebKitWidgets import *

因此QtCore、QtGui和QtWidgets的导入都是正确的。

另外,当我搜索QtWebKitWidgets的源码时,出现了几个对该模块的引用。

最后,我的Python路径如下:

C:\PYTHON35;C:\PYTHON35\DLLs;C:\PYTHON35\LIB;C:\PYTHON35\LIB\LIB-TK;

和环境路径:

C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....
5个回答

36

QtWebKit在Qt 5.5中被弃用,并在5.6中移除

您可能希望转换到PyQt5.QtWebEngineWidgets.QWebEngineView

对于PyQt5.QtWebKitWidgets.QWebView的基本使用,可以在源代码中简单更新为PyQt5.QtWebEngineWidgets.QWebEngineView,但新组件中可能存在一些差异需要进行进一步调整。


非常感谢,我不知道它已经被弃用了。这可能是一个不同的问题,但我曾尝试将导入替换为QtWebEngineWidgets,但出现了另一个错误: from PyQt5.QtWebEngineWidgets import * ImportError: DLL加载失败:操作系统无法运行%1。我最初猜测是不同的位类型...但我确实在64位系统上运行了正确的安装程序(Python和Qt都是32位)。 - Jibbity jobby
3
我认为你可以针对这个错误提出一个新的问题 :) 或者查看像这样的答案 https://dev59.com/T2Eh5IYBdhLWcg3wHAND - IAmInPLS
1
我通过安装PyQtWebEngine使其正常工作:https://dev59.com/fZDea4cB1Zd3GeqPWQ3O#55363933 - Ehvince
如果我想降级PyInstaller,我应该使用哪个版本?我问这个问题是因为MSYS Mingw64不支持PyQtWebEngine。 - Chris P

26

我试图运行qutebrowser,但出现了同样的错误,答案很简单,要更改软件包。你有两个解决方案:

1)


pip install PyQtWebEngine

2)

pip install PyQt5==5.11.3

希望这能帮助解决任何未来的问题。


15

在PyQt5中,"QtWebKitWidgets"已经被弃用。我只是替换了这一行。

from PyQt5.QtWebKitWidgets import QWebView, QWebPage
from PyQt5.QtWebKit import QWebSettings

使用以下代码:

from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings

4

如果你真的想使用PyQt5.QtWebKitWidgets,你可以在命令行中运行以下代码:

pip install PyQtWebKit

让它做它所做的事情。


5
错误:无法找到满足要求的PyQtWebKit版本 错误:没有找到与PyQtWebKit匹配的发行版。 - Sterling

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接