TypeError: expected string or bytes-like object while starting Spyder 5.2.2

TypeError: expected string or bytes-like object while starting Spyder 5.2.2

我刚刚使用 Spyder 5.2.2 和 Python 3.10.2 在 conda 中创建了一个新环境。现在,我遇到一个错误,告诉我程序在启动 Spyder 时需要一个字符串或类似字节的对象。有趣的是,当我的 Python 是 3.9.* 时,这不会发生。发生这种情况的原因是什么?

这里是遇到的错误:

(py10) PS C:\Users\Kevin Yew> spyder
Traceback (most recent call last):
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\Scripts\spyder-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\lib\site-packages\spyder\app\start.py", line 233, in main
    from spyder.app import mainwindow
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\lib\site-packages\spyder\app\mainwindow.py", line 41, in <module>
    requirements.check_qt()
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\lib\site-packages\spyder\requirements.py", line 47, in check_qt
    if parse_version(actual_ver) < parse_version(required_ver):
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\lib\site-packages\pkg_resources\__init__.py", line 120, in parse_version
    return packaging.version.Version(v)
  File "C:\Users\Kevin Yew\anaconda3\envs\py10\lib\site-packages\pkg_resources\_vendor\packaging\version.py", line 264, in __init__
    match = self._regex.search(version)
TypeError: expected string or bytes-like object

编辑 这是您可以尝试重现错误的代码。

conda create -n py10 python=3.10.2
conda activate py10
conda install spyder
spyder

我浏览了有关Spyder 问题的帖子,显然,它涉及升级或降级某些软件包来解决运行ning Spyder 的问题。当我查看 Anaconda Navigator 中的可更新包时,PyQt 和 Qt 不在最新版本中。我试试运气将它更新到最新版本,现在 Spyder 可以工作了!现在我可以 运行 我的 Spyder Python 3.10.2 :-)

(Spyder maintainer here) 这是检查 PyQt5 是否存在的代码中的错误,将在我们即将发布的下一个版本 (5.3.0) 中修复2022 年 3 月(参见 here)。