发布于 

Spyder5.0.0 的一个有趣的 bug

Spyder 前几日更新到了 5.0.0 版本。由于我写 Python 代码一般用 vscode,所以没有安装 Spyder。但周四在 Python 课程群里,有人问 Spyder 更新以后出现缺少 Spyder-kernels 依赖的问题,该如何解决。

图片来自提问的同学 @周扬轩
图片来自提问的同学 @周扬轩

我自己安装了 Spyder 5.0.0,也出现了同样的问题。按照提示,只要安装对应的依赖就可以,但查看已安装列表,Spyder-kernels 已经安装在当前的环境中。在从百度上查找解决方案无果后,我决定去看一下作者的 GitHub 主页,或许有人提出类似的 issue。果然有很多人反馈了相同的问题。在一个 issue 中,有人发现了 bug 原因所在。

这是 issue15091 的链接

作者已经在 5.0.1 的版本中修复了这个问题。

bug 出现的原因很简单,作者在 dependence.py 中把 Spyder- kernels 的依赖检查字符串中的‘;’错写为‘,’,导致检查时,字符串不匹配,依赖检查报错。解决很简单,只要改正拼写即可。

1
SPYDER_KERNELS_REQVER = '>=2.0.1;<2.1.0' # 修改以后的结果 

我觉得这个 bug 还是很有趣的,虽然这样的错误不会导致软件的运行或者使用出现问题,仅仅是一个可以忽视的错误提醒,但这依然提醒我在从事一些工作时,严谨细致的态度是不可或缺的,即使是标点符号般微小的错误也是不可忽视的。