python qt pyqt5

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 ....



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.