it-swarm.com.de

QtWebKitWidgets kann nicht in PyQt5 importiert werden

Ich habe PyQt5 vor kurzem von 5.5.1 auf 5.6.0 mit dem Windows-32-Bit-Installationsprogramm aktualisiert: https://www.riverbankcomputing.com/software/pyqt/download5 . Ich habe auch meinen Python von 3.4 auf 3.5 aktualisiert.

Wenn ich meinen alten Code (der früher funktionierte) mit der neuesten Version ausführte, erhalte ich eine Ausnahme:

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

Alle meine QT-Aufrufe in meinem Python finden nacheinander statt und sind (und ich weiß, dass ich nicht importieren sollte *, aber das ist meiner Meinung nach neben dem Problem):

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

Der Import von QtCore, QtGui und QtWidgets ist also in Ordnung.

Wenn ich die Quelle nach QtWebKitWidgets durchsuche, werden mehrere Verweise auf dieses Modul angezeigt.

Endlich sieht mein Python-Pfad so aus:

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

und Umgebungspfad:

C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....
7
Peter Bingham

QtWebKit wurde in Qt 5.5 Upstream veraltet und in 5.6 entfernt.

Möglicherweise möchten Sie zu PyQt5.QtWebEngineWidgets wechseln:

Dies ersetzt das QtWebKit-Modul und bietet bessere und aktuellere Unterstützung für HTML-, CSS- und JavaScript-Funktionen

18
IAmInPLS

Beantworte jetzt nur für den Fall, dass jemand wie ich dieses Problem hatte: Ich habe versucht, qutebrowser auszuführen und es hatte den gleichen Fehler, die Antwort ist einfach, die Pakete wurden geändert. Sie haben zwei Lösungen:

1)

    pip install PyQtWebEngine

2)

    pip install PyQt5==5.11.3

Hoffe, dies hilft bei zukünftigen Problemen

4
Spounka

In PyQt5 ist "QtWebKitWidgets" nicht mehr verfügbar. Stattdessen wird es durch "QtWebEngineWidgets" ersetzt. Sie müssen diese Änderung also in Ihrem Code vornehmen.

Weitere Informationen: http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html

3
SilverRayX

Wenn Sie wirklichPyQt5.QtWebKitWidgets Verwenden möchten, können Sie dies über die Befehlszeile ausführen:

pip install PyQtWebKit

und lassen Sie es tun, was es tut.

2
Sid

In PyQt5 "QtWebKitWidgets" ist Deprecated. Ich ersetze einfach diese Zeile 

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

Mit diesem Code:

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