ImportError: 'PyQt5.QtWebEngineWidgets' という名前のモジュールがありません

ImportError: 'PyQt5.QtWebEngineWidgets' という名前のモジュールがありません

PyQt5 QtWebEngineWidgets を使用して Python スクリプトを実行しようとしましたが、エラーが発生します。

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

不足しているパッケージがあると思いますが、どれがpython3-pyqt5.qtwebkitインストールされていますか。

これを動作させるにはどうすればいいですか?

答え1

これが OP のエラー メッセージに 100% 対処するかどうかはわかりませんが、少なくとも Ubuntu 17.04 では、次のように正常に実行できました。

apt-get install python3-pyqt5.qtwebengine

これにより、、、などの多数の依存関係が導入さlibqt5webenginecore5libqt5webenginewidgets5ますpython3-pyqt5.qtwebchannelpython3-pyqt5.qtwebengine

これが@The Compilerの回答とどう関係するのか分かりませんQtWebエンジンUbuntu 用にパッケージ化されていませんが、Qt/PyQt をコンパイルしなくても動作しました。

答え2

Spyderを初めて実行しようとしたときに、同じ問題が発生しました。私はMacでMinicondaディストリビューションを使用しています。Spyderを起動するには、両方をインストールする必要がありました。

pip install PyQtWebEngine
pip install PyQt5

これが役に立つことを願います。

答え3

スクリプトには QtWebKit ではなく QtWebEngine が必要です。

残念ながら、それはDebian/Ubuntu向けにパッケージ化されていないしたがって、これを実行する唯一の方法は、Qt と PyQt を自分でコンパイルすることです (これは少し面倒です)。

答え4

ここまで来て pip を使用している場合、私は完全に調査していませんが、pip を PyQT5 5.12 にアップグレードしてから Anki を実行したときに、まさにこの問題が発生しました。5.11.3 と 5.12 のパッケージ サイズは大きく異なります。5.11.3 は 118 MB ですが、5.12 は「たったの」61 MB です。5.11.3 を強制的にインストールすると、問題は解消されました。これは pip の PyQT5 にバンドルされなくなり、別の要件としてインストールする必要があると推測しています。

それはリリースノート、Web エンジン ウィジェットを別のパッケージに移動しました。次のコマンドを実行します。

pip install PyQtWebEngine

関連情報