我不断遇到此错误:
ImportError: cannot import name 'QWebView'
...对于这一点代码:
import sys
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebPage
- 我在Mac上运行高塞拉10.13.3
- 我安装了Python 3.6.4
- 安装PYQT5(做了几次,包括使用Homebrew(
我很确定,当我运行python3 -m pip install PyQt5
时,一切都正确安装了,它告诉我Requirement already satisfied
:
MacBook-Pro-3:~ ericj36$ python3 -m pip install PyQt5
Requirement already satisfied: PyQt5 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages
Requirement already satisfied: sip<4.20,>=4.19.4 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from PyQt5)
我尝试运行代码时遇到的完整错误是:
...line 4, in <module>
from PyQt5.QtWebEngineWidgets import QWebView
ImportError: cannot import name 'QWebView'
那么这里会发生什么?我究竟做错了什么?(我是Python的新手 - 但不是开发。(
任何帮助将不胜感激。
基于webkit和基于铬的较新的 QtWebEngine
有两个不同的网络工具包。
您的进口似乎混合了这两个。QWebPage
和QWebView
是QtWebKit
的一部分,而不是QtWebEngine
,它具有QWebEngineView
和QWebEnginePage
。
因此您可以选择
-
WebEngine:
from PyQt5.QtWebEngineWidgets import QWebEnginePage from PyQt5.QtWebEngineWidgets import QWebEngineView
-
webkit:
from PyQt5.QtWebKitWidgets import QWebPage from PyQt5.QtWebKitWidgets import QWebView
这两个的接口在很大程度上是兼容的,但并不完全相同。