vscode选择了正确的解释器,但终端显示运行的依然为原来的python版本

一、问题描述

最近刚刚开始摸索着使用python,打算用vscode复现一个代码,结果费了九牛二虎之力配置好了环境,在vscode中竟然无法使用。具体是我在配置好环境后,点击了test.py测试环境是否有问题,然后报错no module named torchvision,但是conda list明明显示有 torchvision,我输入 import torchvision也没有报错。然后我在vscode的终端中输入python --version,发现显示的竟然是python3.5,而不是我所激活环境中的python3.8。

如图所示,在vscode右下角中选择了我新建的虚拟环境python38:

然后我在vscode终端中激活了python38,输入python --version,结果显示为python3.5:

然而我在Anconda Prompt中输入python --version时,显示的却是python3.8没错:

这是为什么呢?python3.5并不是base环境依赖的解释器,而是一个名为caffe_3.5的虚拟环境中的解释器。这里我首先将所有其他的虚拟环境均删除了,只留下了base环境和我所新建的python38环境,然后我发现vscode所使用的解释器又变为了base环境依赖的python3.7,依然不是我所选环境的python3.8。

参考链接如下:
VScode配置默认终端为Anaconda Prompt
在 VS Code 中配置终端默认使用anaconda虚拟环境的版本
【Anaconda&vscode】用Anaconda Prompt作为VSCode的默认终端
【Anaconda】详细步骤:如何使用Anaconda Prompt作为VSCode的默认终端?
python之 vscode中激活conda虚拟环境报错或者打开虚拟环境失败

二、解决方案

1. 打开vscode设置

(1)快捷键:点击ctrl+,

(2)在搜索框中输入terminal.integrated.profiles.windows

(3)点击 在settings.json 中编辑

2. 修改配置文件

打开之后我发现我的代码中有这样一行:

bash 复制代码
"python.defaultInterpreterPath": "C:\\Users\\...\\Anaconda3\\envs\\caffe_3.5\\python.exe"

这会不会是一开始python解释器选择python3.5的原因呢?

接着往下看。setting.json的默认格式如图:

按照大佬是说法,如果安装过anaconda是有"Command Prompt"的参数的。

接下来我们找到Anconda Prompt,右键选择属性,将目标里的参数复制下来,将对应的部分放进"Command Prompt"的"args"里即可。

我放了也还是不行。

3. 其他方法

我发现,我在cmd终端中可以正常激活python38,在anaconda prompt中也可以激活,只有在vscode终端中不能正常激活。

然后我按照下面的步骤操作了一遍:

(1)在VScode terminal powershell 中执行conda init后重启vscode

(2)打开电脑Windows的开始界面,然后直接搜索关键字powershell ,打开第一个Windows PowerShell:

以管理员身份运行打开,如下图,输入以下命令:

bash 复制代码
set-ExecutionPolicy RemoteSigned

然后中途会让输入y,回车确定执行命令:

然后我又在vscode中间试了一下,还是无法激活。

(3)再重启一下vscode,点击"删除"按钮,删除当前这个powershell:

然后在上方工具栏中点击"终端"--->点击"新建终端",重新再新建一个Vscode terminal powershell:

这回重新打开终端好像直接就是Anaconda Prompt了。具体我也不知道是哪一步起了作用,总之好像就是没问题了。

然后我重新测试了 test.py文件,这回错误又变成了no module named torch。离谱。之前还没这个问题的。我也不知道怎么改,我就又点击了运行,然后没有报错了。。。

相关推荐
岁月宁静1 小时前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
JaydenAI1 小时前
[对比学习LangChain和MAF-07]如何引入人机交互的审批流程
python·ai·langchain·c#·agent·hitl·maf
神奇元创2 小时前
商用级光路加速卡:大模型推理的极速落地方案
python·神经网络·fpga开发·dsp开发
运筹vivo@2 小时前
Python ContextVar 底层机制与内存模型拆解
前端·数据库·python
大白菜和MySQL2 小时前
java应用排查高线程
java·python
嵌入式协会20240722 小时前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python
宸丶一3 小时前
Day 14:任务追踪 - 让 Agent 拥有项目管理能力
开发语言·python
skylar03 小时前
小白1分钟安装flash-attn
开发语言·python
JustNow_Man3 小时前
psmux快捷键
人工智能·python