解决Spyder的Editor无法自动提示/完成代码

解决Spyder的Editor无法自动提示/完成代码

1. 问题描述

\quad 突然发现spyder的Editor无法自动提示/完成代码(但是在IPython界面却可以),使用非常不方便。
\quad 在这里插入图片描述

\quad 在spyder官网只找到了Common Illnesses这个链接:

  • 文档只是说明了是LSP has stopped working这个原因 —— 如果代码完成、帮助和分析可能会停止工作,此时下图中点击红色圆圈处显示为LSP Python: Down的状态(正常状态是下图中显示的LSP Python: ready

  • 可以尝试在下图中点击红色圆圈处的LSP Python并选择Restart Python Language Server来重启LSP服务(但是无论怎么restart 都没办法)。
    \quad 在这里插入图片描述

  • 有时打开Spyder会出现这种warning,说是防火墙或者杀毒软件的问题(关掉防火墙/杀毒软件也没用)
    \quad 在这里插入图片描述

  • 更改spyder设置(Tools — Perferences — Advanced settings,在下面几个复选框打勾)仍然没法解决
    在这里插入图片描述

2. 解决方法

\quad 实在没办法了只好试试通过pip install spyder --force-reinstall重装spyder,总算是发现了问题所在:更新到Spyder5.2之后,Jedi的版本导致了和Python Language Server的不兼容
\quad 在这里插入图片描述

\quad 安装的spyder5.2.0所搭配的Python Language Server版本为0.36.2,需要与之搭配的Jedi版本<0.18.0, >=0.17.2,但是pip安装的jedi版本是0.18.1,两者不兼容。因此,只需要安装与Python Language Server 0.36.2匹配的Jedi版本即可。

\quad 首先查询所有的Jedi版本:
\quad 在这里插入图片描述
\quad 然后重新安装满足要求(Jedi<0.18.0, >=0.17.2)的版本pip install jedi==0.17.2
\quad 在这里插入图片描述

\quad 安装完成之后启动Spyder,LSP Python: ready状态正常了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值