I try to run a python script using PyQt5 QtWebEngineWidgets but it throws errors:
from PyQt5.QtWebEngineWidgets import (
ImportError: No module named 'PyQt5.QtWebEngineWidgets'
I think there is a package missing but which one? python3-pyqt5.qtwebkit
is installed.
How to get this working?
решение1
I'm not 100% certain that this addresses the OP's error message, but at least for Ubuntu 17.04 I have successfully run:
apt-get install python3-pyqt5.qtwebengine
This brings in loads of dependencies, including libqt5webenginecore5
, libqt5webenginewidgets5
, python3-pyqt5.qtwebchannel
and python3-pyqt5.qtwebengine
.
I do not know how this relates to @The Compiler's answer of QtWebEngine not being packaged for Ubuntu, but it worked for me without any compiling of Qt/PyQt.
решение2
I had the same issue, when trying to run Spyder for the first time. I'm using a Miniconda distribution on Mac. I had to install both so that I could lunch Spyder
pip install PyQtWebEngine
pip install PyQt5
I hope this help.
решение3
Для скрипта нужен QtWebEngine, а не QtWebKit.
К сожалению, этоне упаковано для Debian/Ubuntu, поэтому единственный способ заставить его работать — это скомпилировать Qt и PyQt самостоятельно (что может быть немного утомительно).
решение4
Если вы попали сюда и используете pip - я не исследовал полностью, но я только что получил это при запуске Anki после обновления pip до PyQT5 5.12. Размеры пакетов для 5.11.3 и 5.12 сильно различаются - 5.11.3 весит 118 МБ, а 5.12 - "всего" 61 МБ. Принудительная установка 5.11.3 устранила проблему. Я предполагаю, что это больше не включено в PyQT5 в pip и должно быть установлено как отдельное требование.
Это взаметки о выпуске, они переместили виджеты веб-движка в другой пакет. Просто запустите:
pip install PyQtWebEngine