You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode中激活Conda环境后which python与sys.path输出不一致

问题描述

在VSCode中激活Conda环境My_env并选择对应解释器后:

  • 启动Python时,sys.path和sys.version均指向该环境的解释器
  • 但在终端执行which python或python --version却指向base环境的默认Python版本
  • 在VSCode外执行相同操作时,which python与sys.path输出一致
  • 无论是否在VSCode中,激活任意环境后conda info都显示base环境的Python版本

已尝试但无效的操作:

  • 关闭base环境自动激活
  • 执行hash -r

环境信息

VSCode

  • Version: 1.91.1
  • Commit: f1e16e1e6214d7c44d078b1f0607b2388f29d729
  • Date: 2024-07-09T22:08:12.169Z
  • Electron: 29.4.0
  • ElectronBuildId: 9728852
  • Chromium: 122.0.6261.156
  • Node.js: 20.9.0
  • V8: 12.2.281.27-electron.0
  • OS: Linux x64 6.5.0-41-generic snap

conda info 输出

active environment : My_env
     active env location : /home/name/anaconda3/envs/My_env
            shell level : 1
       user config file : /home/name/.condarc
    populated config files : /home/name/.condarc
          conda version : 24.1.2
    conda-build version : 24.1.2
         python version : 3.11.7.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=skylake
                          __conda=24.1.2=0
                          __glibc=2.35=0
                          __linux=6.5.0=0
                          __unix=0=0
       base environment : /home/name/anaconda3  (writable)
      conda av data dir : /home/name/anaconda3/etc/conda
     conda av metadata url : None
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/name/anaconda3/pkgs
                          /home/name/.conda/pkgs
       envs directories : /home/name/anaconda3/envs
                          /home/name/.conda/envs
               platform : linux-64
             user-agent : conda/24.1.2 requests/2.31.0 CPython/3.11.7 Linux/6.5.0-41-generic
    ubuntu/22.04.4 glibc/2.35 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.6
    aau/0.4.3 c/o84sDdTYbleS3dVd3NF1Aw s/kgiszGL1njuqJYlZjLUa-w e/JXereckVRhPg5ZEODdeeVw
                UID:GID : 1001:1001
             netrc file : None
           offline mode : False

操作系统

Ubuntu 22.04 LTS,64位


解决方案

1. 检查VSCode终端的shell配置

VSCode终端可能未正确加载conda初始化脚本:

  • 打开VSCode设置,搜索terminal.integrated.defaultProfile.linux,确保选择日常使用的shell(如bash/zsh)
  • 检查对应shell的配置文件(.bashrc/.zshrc)是否包含conda初始化代码,若没有则执行conda init bash(替换为你的shell),之后重启VSCode

2. 关闭VSCode终端继承系统环境变量

打开VSCode设置,搜索terminal.integrated.inheritEnv,将其设为false,避免系统环境变量覆盖conda激活后的路径

3. 配置终端启动时自动激活目标环境

在VSCode的settings.json中添加以下配置(替换为你的shell和环境名):

"terminal.integrated.profiles.linux": {
    "bash": {
        "path": "bash",
        "args": ["-c", "conda activate My_env && exec bash"]
    }
}

添加后重启VSCode

4. 确认conda自动激活base的设置已关闭

执行命令检查:

conda config --show auto_activate_base

若输出为true,执行以下命令关闭:

conda config --set auto_activate_base false

之后重启所有终端和VSCode

5. 清除VSCode Python扩展缓存

打开命令面板(Ctrl+Shift+P),依次执行:

  • Python: Clear Workspace Interpreter Cache
  • Python: Clear All Interpreter Caches
    之后重新选择目标环境的解释器

内容的提问来源于stack exchange,提问作者Ludwich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:38:13