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。离谱。之前还没这个问题的。我也不知道怎么改,我就又点击了运行,然后没有报错了。。。

相关推荐
4SAPI6 小时前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
XCDoris8 小时前
郴州logo设计机构
大数据·人工智能·python
gCode Teacher 格码致知9 小时前
Pandas教学-17:Series与Dataframe的关系
开发语言·python·pandas
马良神笔10 小时前
2026 年Rag最近技术前沿总结
后端·python·django
不像程序员的程序媛10 小时前
maven基础
python·pycharm·maven
xiaogai_gai11 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
benchmark_cc12 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu12 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
估值探索者13 小时前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口
田里的水稻13 小时前
PyTorch_Dataloader\TensorBoard---数据加载与可视化
人工智能·pytorch·python·神经网络·机器学习