【编程实践】关于Vscode无法连接Anaconda解译器的问题
问题描述
正确安装了Anaconda,并且将软件建议的选项都进行了勾选;
同时,也将Anaconda的路径添加到了系统变量的Path中,conda --version能够输出版本号;
然后,自己也是管理员账户,具有文件的写入和读取权限,可以在Anaconda中创建自定义的虚拟环境;
但是打开Anaconda自带的Vscode一直找不到对应的解译器(即便是从对应环境进入的也不行);在Vscode中select Interpreter看不到自动更新出来的虚拟环境;选择Enter Interpreter path from…自己选定的文件夹,之后也显示不出来;导致代码无法运行。
问题解决
针对上述问题,上面的软件安装、路径、环境均没有问题,那么经过排查,应当是在之前安装的Anaconda存在卸载残留或者叫之前Anaconda的 VS Code 的 Python 扩展缓存,阻塞了Vscode与新conda的通讯,它默认先使用原来缓存中的地址,其实已经被移除,但是无法更新出来。
-
首先,关闭Vscode和conda;
-
找到默认缓存路径中的workspaceStorage文件夹(进入C盘,进行文件搜索),把它删掉,新的vscode和conda会新建一个缓存文件,
例如下面的路径:
C:\Users\WECHATXXX\AppData\Roaming\.anaconda\navigator\Code\User\workspaceStorage
- 打开vscode在终端中找到conda的位置:
(Your Env name) E:\> where conda
上述命令会返回以下结果(你的conda安装路径):
D:\Anaconda3\condabin\conda.bat
- 即使 PATH 正确,VS Code 的 Python 扩展有时仍会找不到 conda。需要手动指定 conda 的路径。
- 打开 VS Code 设置
- 搜索“python.condaPath”
- 将上述conda.bat添加"python.condaPath"
- 重启vscode
- ctrl+shift+P,再次select Interpreter
现在VScode就能够与conda通讯成功,就会出现自己之前定义的虚拟环境和对应的解译器了。
最终解决呈现界面如下:
选择对应的解译器之后,右下角应该出现对应的虚拟环境。