python - No se puede importar QtWebKitWidgets en PyQt5
(5)
En PyQt5 "QtWebKitWidgets" está en desuso . Acabo de reemplazar esta línea
from PyQt5.*QtWebKitWidgets* import *QWebView*, *QWebPage*
from PyQt5.*QtWebKit* import *QWebSettings*
Con este código:
from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings
Recientemente he actualizado PyQt5 de 5.5.1 a 5.6.0 usando el instalador de Windows de 32 bits aquí: https://www.riverbankcomputing.com/software/pyqt/download5 . También he actualizado mi python de 3.4 a 3.5.
Cuando ejecuto mi código anterior (que solía funcionar) con la última versión, obtengo una excepción:
from PyQt5.QtWebKitWidgets import *
ImportError: No module named ''PyQt5.QtWebKitWidgets''
Todas mis llamadas QT en mi python ocurren de manera consecutiva y son (y sé que no debería importar *, pero eso no es el problema aquí, creo):
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebKitWidgets import *
Entonces las importaciones QtCore, QtGui y QtWidgets están bien.
Además, cuando busco en la fuente QtWebKitWidgets, aparecen varias referencias a este módulo.
Finalmente mi ruta de Python se ve así:
C:/PYTHON35;C:/PYTHON35/DLLs;C:/PYTHON35/LIB;C:/PYTHON35/LIB/LIB-TK;
y ruta del entorno:
C:/Python35/Lib/site-packages/PyQt5;C:/Python35;C:/Python35/Lib;C:/Python35/Lib/site-packages;C:/Python35/Scripts ....
En PyQt5, "QtWebKitWidgets" ya no está disponible. En su lugar, se reemplaza con "QtWebEngineWidgets". Entonces debe hacer este cambio en su código.
Para más información: http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html
Si
realmente
desea utilizar
PyQt5.QtWebKitWidgets
, puede ejecutar esto desde la línea de comandos:
pip install PyQtWebKit
y deja que haga lo que hace.
Solo respondo ahora en caso de que alguien como yo tuviera este problema: estaba tratando de ejecutar qutebrowser y tenía el mismo error, la respuesta es simple, los paquetes cambiaron. Tienes dos soluciones:
1)
pip install PyQtWebEngine
2)
pip install PyQt5==5.11.3
Espero que esto ayude a cualquier problema futuro
QtWebKit
quedó obsoleto en sentido ascendente en Qt 5.5 y se
eliminó en 5.6
.
Es posible que desee cambiar a PyQt5.QtWebEngineWidgets :
Esto reemplaza al módulo QtWebKit y proporciona una compatibilidad mejor y actualizada para las funciones HTML, CSS y JavaScript.