Подтвердить что ты не робот

Невозможно импортировать QtWebKitWidgets в PyQt5

Недавно я обновил PyQt5 с 5.5.1 до 5.6.0 с помощью 32-разрядного установщика Windows здесь: https://www.riverbankcomputing.com/software/pyqt/download5. Я также обновил свой питон с 3,4 до 3,5.

Когда я запускаю свой старый код (который раньше работал) с последней версией, я получаю исключение:

    from PyQt5.QtWebKitWidgets import *
ImportError: No module named 'PyQt5.QtWebKitWidgets'

Все мои вызовы QT в моем питоне происходят последовательно и выполняются (и я знаю, что не должен импортировать *, но я думаю, что помимо этой проблемы здесь):

        from PyQt5.QtCore import *
        from PyQt5.QtGui import *
        from PyQt5.QtWidgets import *
        from PyQt5.QtWebKitWidgets import *

Таким образом, импорт QtCore, QtGui и QtWidgets в порядке.

Кроме того, когда я ищу в источнике QtWebKitWidgets, появляется несколько ссылок на этот модуль.

Наконец мой путь к Python выглядит так:

C:\PYTHON35;C:\PYTHON35\DLLs;C:\PYTHON35\LIB;C:\PYTHON35\LIB\LIB-TK;

и путь к среде:

C:\Python35\Lib\site-packages\PyQt5;C:\Python35;C:\Python35\Lib;C:\Python35\Lib\site-packages;C:\Python35\Scripts ....
4b9b3361

Ответ 1

QtWebKit получил устаревшее восходящее движение в Qt 5.5 и удален в 5.6.

Вы можете переключиться на PyQt5.QtWebEngineWidgets:

Это отменяет модуль QtWebKit и обеспечивает лучшее и актуальное поддержка функций HTML, CSS и JavaScript

Ответ 2

Я просто отвечаю сейчас, если кто-то, как я, имел эту проблему: Я пытался запустить qutebrowser, и у него была та же ошибка, ответ прост, пакеты изменились. У вас есть два решения:

1)

    pip install PyQtWebEngine

2)

    pip install PyQt5==5.11.3

Надеюсь, это поможет в будущем

Ответ 3

В PyQt5 "QtWebKitWidgets" больше не доступен. Вместо этого он заменяется на "QtWebEngineWidgets". Таким образом, вы должны внести это изменение в свой код.

Для дополнительной информации: http://doc.qt.io/qt-5/qtwebenginewidgets-qtwebkitportingguide.html

Ответ 4

В PyQt5 "QtWebKitWidgets" устарела. Я просто заменяю эту строку

from PyQt5.*QtWebKitWidgets* import *QWebView*, *QWebPage*
from PyQt5.*QtWebKit* import *QWebSettings*

С этим кодом:

from PyQt5.QtWebEngineWidgets import QWebEngineView as QWebView,QWebEnginePage as QWebPage
from PyQt5.QtWebEngineWidgets import QWebEngineSettings as QWebSettings

Ответ 5

Если вы действительно хотите использовать PyQt5.QtWebKitWidgets, вы можете запустить его из командной строки:

pip install PyQtWebKit

и пусть он делает то, что делает.