解决PyCharm无法删除invalid interpreter(无效解析器)的问题
前言
在写项目代码时,修改了其中一个文件夹的名称,从而导致我的解释器变成了invalid,然后整个编辑器就出问题了。
通常情况下,PyCharm可以删除不同虚拟环境的解释器(interpreter),通过:设置->项目->Python解释器->全部显示
然后选中你想要删除的环境,点击减号即可:
但是点击删除之后,重新打开环境设置,被删除的环境依然存在。
查找了一下资料,JetBrain论坛上也有人碰到这样的问题。
有的人通过删除后重启PyCharm,有的人通过清除缓存(文件->清除缓存
)可以解决。 但是这两个方法对我都不管用。
找到了PyCharm存放虚拟环境的文件,jdk.table.xml
。
mac路径:/Users/<username>/Library/Application Support/JetBrains/PyCharm2020.2/options/jdk.table.xml
windows路径:C:\Users\<username>\AppData\Roaming\JetBrains\PyCharm2020.1\options\jdk.table.xml
打开后发现,确实保存了虚拟环境的信息:
直接删除
正常情况下,在PyCharm删除的虚拟环境,会在这个xml文件里删除的。
通过打开PyCharm的log,发现操作过程中出现了错误。
奇怪的是,错误内容显示的应该是虚拟环境重名的关系,但是我的没有重名。具体的错误原因,目前还没找到。
另外说一点,我将jdk.table.xml
文件整个删除之后,重启PyCharm,再设置解释器之后,重新生成了jdk.table.xml
文件,这时候我再进行的PyCharm删除操作,就完全正常了。
我猜测是这个xml的文件出了什么bug.
总之,出现了无法删除虚拟环境,可以尝试重启,清除缓存,删除jdk.table.xml
文件内的内容来解决。
同时,如果出现了虚拟环境同名,也可以通过删除同名的虚拟环境或者删除它来解决。