解决vscode终端无法使用conda activate

0 阅读3分钟

背景

我们可能会有在vscode进行python代码编程的需求,而我们最常用的管理python环境的工具就是anaconda。而在vscode中默认设置下,我们无法在终端中使用conda activate切换python环境。

比如在我的vscode中我已经指定了使用conda中的py39环境,结果在终端中使用python --version命令得到的python版本依旧是3.12.7。如下图所示:

image-20260319183721162.png

原因解析

导致出现这个问题的原因十分简单,这是因为vscode默认使用的终端是 powershell,而在 powershell 中并不支持通过 conda activate 切换conda环境。

既然知道了原因,那么问题就很好解决了。在这里我提供了两种方法解决问题,第一种是直接切换vscode默认的终端,另一种是让 powershell 终端支持用conda切换环境(这个方法适用于必须使用powershell的情况)。

解决方案

方案一:切换vscode默认终端

  1. 在vscode中按住 ctrl + shift +p 即可唤出配置修改的菜单。如图所示:

image-20260319184658637.png

  1. 接着在这个搜索栏中输入 终端: 选择默认配置文件 ,点击搜索后的结果就会出现:

image-20260319184918366.png

  1. 选择 Command Prompt,之后关闭vscode中所有的终端后再打开终端,我们可以看到终端的输出变成了我想要的py39了,说明我们的conda环境可以被正常激活了。

image-20260319185214247.png

对方案一的补充

上面我们讲的是把终端改成cmd,网上还有一种是让终端默认使用 conda 的 shell,但是我没有试过,有兴趣的可以试试看。以下是这个方法的具体步骤:

  1. 打开 VS Code,并打开项目;
  2. 在 VS Code 的顶部菜单中选择“文件” > “首选项” > “设置”;
  3. 在设置页面中,搜索“terminal.integrated.shell.windows”(Windows 系统)或“terminal.integrated.shell.osx”(macOS 系统);
  4. 将该设置的值更改为 Conda 的 Shell 的路径。例如,在 Windows 系统中,可以将该值设置为类似于下面的路径:
"C:\\Users\\<用户名>\\Anaconda3\\Scripts\\conda.exe"

或者在macos中,可以将该值改为类似下面的路径:

"/Users/<用户名>/anaconda3/bin/conda"

5. 保存设置重启vscode

经过以上设置就vscode终端就可以正常激活conda环境了。

方案二:让 powershell 终端支持用conda切换环境

  1. 添加环境变量

首先打开环境变量设置,找到用户变量和系统变量里面的Path(如果是仅为当前用户设置就只修改用户变量,如果是为所有用户设置就修改系统变量。如果搞不清楚区别就都进行修改。)

image-20260319185937373.png

接下来找到你的anaconda的安装位置,将安装目录下的Scripts路径添加进去。

ScreenShot_2026-03-19_193618_813.png

  1. 对powershell进行设置

    1. 打开powershell终端
    2. 输入 conda init powershell,初始化conda。

ScreenShot_2026-03-19_190733_472.png

  1. 输入 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

ScreenShot_2026-03-19_190919_079.png

  1. 重启powershell,看看能不能正常使用 conda activate

像我这里就并不顺利。

image-20260319191423227.png

  1. 解决问题:最后发现,这个问题是由于powershell7导致的,使用powershell5(windows默认)就可以完美的解决这个问题了 image-20260319193155875.png