无法在PyQt5中导入QtWebKitWidgets

Pet*_*ham 15 python qt pyqt5

我最近使用Windows 32位安装程序将PyQt5从5.5.1升级到5.6.0:https://www.riverbankcomputing.com/software/pyqt/download5 .我还将我的python从3.4升级到3.5.

当我使用最新版本运行旧代码(曾经工作)时,我得到一个例外:

    from PyQt5.QtWebKitWidgets import *
ImportError: No module named 'PyQt5.QtWebKitWidgets'
Run Code Online (Sandbox Code Playgroud)

我的python中的所有QT调用都是连续发生的(并且我知道我不应该导入*但是我认为这不是问题所在):

        from PyQt5.QtCore import *
        from PyQt5.QtGui import *
        from PyQt5.QtWidgets import *
        from PyQt5.QtWebKitWidgets import *
Run Code Online (Sandbox Code Playgroud)

因此QtCore,QtGui和QtWidgets导入都可以.

此外,当我在源代码中搜索QtWebKitWidgets时,会出现几个对此模块的引用.

最后我的python路径看起来像:

C:\PYTHON35;C:\PYTHON35\DLLs;C:\PYTHON35\LIB;C:\PYTHON35\LIB\LIB-TK;
Run Code Online (Sandbox Code Playgroud)

和环境路径:

C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....
Run Code Online (Sandbox Code Playgroud)

IAm*_*PLS 22

QtWebKit在Qt 5.5中被上游弃用并在5.6中删除.

您可能想切换到PyQt5.QtWebEngineWidgets:

这取代了QtWebKit模块,并为HTML,CSS和JavaScript功能提供了更好和最新的支持

  • 我认为您可以针对此错误提出一个新问题:) 或查看这样的答案 http://stackoverflow.com/questions/22800768/getting-error-dll-load-failed-the-operating-system-cannot-运行-1-python-2-7 (2认同)

小智 18

我试图运行 qtebrowser 并且它有同样的错误,答案很简单,包改变了。您有两种解决方案:

1)

pip install PyQtWebEngine
Run Code Online (Sandbox Code Playgroud)

2)

pip install PyQt5==5.11.3
Run Code Online (Sandbox Code Playgroud)

希望这有助于任何未来的问题


Ist*_*yak 13

在 PyQt5 中,“QtWebKitWidgets”弃用。我只是替换这一行

from PyQt5.QtWebKitWidgets import QWebView, QWebPage
from PyQt5.QtWebKit import QWebSettings
Run Code Online (Sandbox Code Playgroud)

使用此代码:

from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings
Run Code Online (Sandbox Code Playgroud)