无法启动 spyder,因为 PyQt5.QtWebKitWidgets

Can't start spyder because of PyQt5.QtWebKitWidgets

我对 spyder 有疑问。

我刚刚在这台笔记本电脑上安装了 Python 3.7 和 Spyder,就像我在许多其他笔记本电脑上所做的那样。然而这一次,它不起作用。

我用安装程序安装了 Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32。我将路径更改为自定义路径:C:\Python\Python37,我添加了预编译库并将路径添加到环境中。 笔记本电脑此时已重新启动。

然后我更新了pip:

py -3.7 -m pip install --upgrade pip

然后我安装了spyder:

py -3.7 -m pip install spyder

然后我尝试使用以下文件启动 spyder:

C:\Python\Pythno37\Lib\site-packages\spyder\app\start.py

我收到错误:

ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

PyQt5 安装了 5.12 版本。

不知道为什么它不起作用...

编辑:完整的错误信息:

这表明问题出在qtpy。但是对应文件导入:

from . import PYQT5,PYSIDE2, PYQT4, PYSIDE, PythonQtError


# To test if we are using WebEngine or WebKit
WEBENGINE = True


if PYQT5:
    try:
        from PyQt5.QtWebEngineWidgets import QWebEnginePage
        from PyQt5.QtWebEngineWidgets import QWebEngineView
        from PyQt5.QtWebEngineWidgets import QWebEngineSettings
    except ImportError:
        from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
        from PyQt5.QtWebKitWidgets import QWebView as QWebEngineView
        from PyQt5.QtWebKit import QWebSettings as QWebEngineSettings
        WEBENGINE = False

正确使用PyQt5.QtWebEngnieWidgets

我将 Pyqt5 版本从 5.12 换成了 5.11.2:

py -m pip install pyqt5==5.11.2

现在可以使用了...

三天前,我正在使用 Python、Mayavi 和 Jupyter Notebooks 来创建可视化效果。这需要安装 PyQt5。

由于不断出现内存错误,我决定在不使用 virtualenv 的情况下进行测试,并在我的本地环境中安装了所需的要求(当然没有解决)。

之后,我开始使用 matplotlib 和其他 Python 库创建可视化效果,但无法从 Anaconda Navigator 启动 Spyder。

这是出现的错误,与你的类似

Traceback (most recent call last):
File "C:\Users\tiago\Anaconda3\lib\site-packages\qtpy\QtWebEngineWidgets.py", line 22, in 
from PyQt5.QtWebEngineWidgets import QWebEnginePage
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users\tiago\Anaconda3\Scripts\spyder-script.py", line 10, in 
sys.exit(main())
File "C:\Users\tiago\Anaconda3\lib\site-packages\spyder\app\start.py", line 186, in main
from spyder.app import mainwindow
File "C:\Users\tiago\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 90, in 
from qtpy import QtWebEngineWidgets # analysis:ignore
File "C:\Users\tiago\Anaconda3\lib\site-packages\qtpy\QtWebEngineWidgets.py", line 26, in 
from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

正确答案在我的案例中不起作用。

此问题与 PyQt5 安装有关。修复它的方法是卸载它

pip uninstall PyQt5

然后 Spyder 完美启动