ImportError: Kein Modul mit dem Namen 'PyQt5.QtWebEngineWidgets'


11

Ich versuche, ein Python-Skript mit PyQt5 QtWebEngineWidgets auszuführen, aber es gibt Fehler aus:

  from PyQt5.QtWebEngineWidgets import (
ImportError: No module named 'PyQt5.QtWebEngineWidgets'

Ich denke, es fehlt ein Paket, aber welches? python3-pyqt5.qtwebkitist installiert.

Wie bringt man das zum Laufen?

Antworten:


5

Ich bin nicht 100% sicher, dass dies die Fehlermeldung des OP behebt, aber zumindest für Ubuntu 17.04 habe ich erfolgreich ausgeführt:

apt-get install python3-pyqt5.qtwebengine

Dies bringt in Lasten von Abhängigkeiten, einschließlich libqt5webenginecore5, libqt5webenginewidgets5, python3-pyqt5.qtwebchannelund python3-pyqt5.qtwebengine.

Ich weiß nicht, wie dies mit der Antwort von @The Compiler zusammenhängt, dass QtWebEngine nicht für Ubuntu gepackt wurde , aber es hat bei mir ohne Kompilierung von Qt / PyQt funktioniert.


Dies löste mein Problem der Verwendung der Anki-Karteikarte auf Debian
zhazha

Ich habe 16.04 markiert, es ist also nicht genau die Antwort, aber gut zu wissen, es ist in der aktuellen LTS-Version verfügbar (18.04 hat es auch).
Michael

4

Das Skript benötigt QtWebEngine, nicht QtWebKit.

Leider ist das nicht für Debian / Ubuntu gepackt. Die einzige Möglichkeit, dies zum Laufen zu bringen, besteht darin, Qt und PyQt selbst zu kompilieren (was ein bisschen mühsam sein kann).


Ich denke auch ... :(
Michael

Was ist mit Windows?
Jonathan

4

ich installierte python3-pyqt5.qtmultimedia

sudo apt install python3-pyqt5.qtmultimedia

in Xenial (weil python3-pyqt5.qtwebenginenicht gefunden wurde, also suchte ich alle passenden Muster python3-pyqt5und apt-cache searchfand dieses unter anderem, das mir relevant erschien.

Ich kann jetzt ffmpegconverterwieder verwenden! (Eine kleine, die große Dinge tut, die ich von Hand zusammengestellt habe).


Aber was hat das mit meiner Frage zu tun?
Michael

3

Wenn Sie hierher kommen und pip verwenden, habe ich nicht vollständig nachgeforscht, aber ich habe genau dies beim Ausführen von Anki seit dem Upgrade von pip auf PyQT5 5.12 erhalten. Die Packungsgrößen für 5.11.3 und 5.12 sind sehr unterschiedlich - 5.11.3 wiegt 118 MB und 5.12 "nur" 61 MB. Durch Erzwingen der Installation von 5.11.3 wurde das Problem behoben. Ich vermute, dass dies nicht mehr im PyQT5 in pip gebündelt ist und als separate Anforderung installiert werden muss.

Es ist in der Release Notes , die sie webengine Widgets zu einem anderen Paket verschoben. Lauf einfach:

pip install PyQtWebEngine

3

Ich hatte das gleiche Problem, als ich versuchte, Spyder zum ersten Mal auszuführen. Ich verwende eine Miniconda-Distribution auf einem Mac. Ich musste beide installieren, damit ich Spyder zu Mittag essen konnte

pip install PyQtWebEngine
pip install PyQt5

Ich hoffe diese Hilfe.


2

Wenn Sie hierher kommen und pip verwenden, habe ich nicht vollständig nachgeforscht, aber ich habe genau dies beim Ausführen von Anki seit dem Upgrade von pip auf PyQT5 5.12 erhalten. Die Packungsgrößen für 5.11.3 und 5.12 sind sehr unterschiedlich - 5.11.3 wiegt 118 MB und 5.12 "nur" 61 MB. Durch Erzwingen der Installation von 5.11.3 wurde das Problem behoben. Ich vermute, dass dies nicht mehr im PyQT5 in pip gebündelt ist und als separate Anforderung installiert werden muss.

pip uninstall PyQt5
pip install PyQt5==5.11.3

(Ankis Anforderungen.txt wurde jetzt aktualisiert, daher sollte das Abrufen der neuesten Version von Github jetzt funktionieren.)


Können Sie Ihre Antwort erweitern und die dazu erforderlichen Befehle anzeigen?
Kristopher Ives

Fertig, tut mir leid, es hat so lange
gedauert


0

Wenn Sie unter Windows 10 eine 64-Bit-Version von Python 3.8.0 ausführen, funktioniert dies wie folgt:

pip uninstall PyQt5
pip uninstall PyQtWebEngine
pip install PyQt5==5.13
pip install PyQtWebEgine

Jetzt wird sich Ihr Code nicht über den Importfehler von QtWebEngineWidgets beschweren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.