pycharm无法删除invalid interpreter(无效解析器)的问题

通常情况下,pycharm可以删除不同虚拟环境的解释器(interpreter),通过:Preferences->Project->Python Interpreter->show all


20210302140528.jpg

然后选中你想要删除的环境,点击减号即可:


20210302140721.jpg

但是我发现,点击删除之后,重新打开环境设置,被删除的环境依然存在。
查找了一下资料,jetbrain论坛上也有人碰到这样的问题。
有的人通过删除后重启pycharm,有的人通过清除缓存(File->Invalidate Caches)可以解决。 但是这两个方法对我都不管用。

找到了pycharm存放虚拟环境的文件,jdk.table.xml。
mac路径:/Users/<username>/Library/Application Support/JetBrains/PyCharm2020.2/options
windows路径:C:\Users<username>.PyCharmCE2018.3\config\options\jdk.table.xml

打开后发现,确实保存了虚拟环境的信息:


20210302141401.jpg

直接删除<jdk version="2">......</jdk>的内容,再打开pycharm,确实把内容删掉了。

正常情况下,在pycharm删除的虚拟环境,会在这个xml文件里删除的。
通过打开pycharm的log,发现操作过程中出现了错误。
log在mac的路径:/Users/<username>/Library/Logs/JetBrains/PyCharm2020.2/idea.log

发现出现如下错误:


20210302142853.jpg

奇怪的是,错误内容显示的应该是虚拟环境重名的关系,但是我的没有重名。具体的错误原因,目前还没找到。

另外说一点,我将jdk.table.xml文件整个删除之后,重启pycharm,再设置interpreter之后,重新生成了jdk.table.xml文件,这时候我再进行的pycharm删除操作,就完全正常了。

我猜测是这个xml的文件出了什么bug.

总之,出现了无法删除虚拟环境,可以尝试重启,清除缓存,删除jdk.table.xml文件内的内容来解决。

同时,如果出现了虚拟环境同名,也可以通过删除同名的虚拟环境或者删除它来解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容