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

为何conda --version与conda env export显示的版本不一致?

问题:conda版本显示不一致的原因与解决

我原本以为conda env export和conda --version会显示相同的conda版本,但实际并非如此。在WSL环境中使用Anaconda 2020.11,base环境的conda版本为22.9.0,为了和另一系统保持向后兼容,在test环境安装了conda=4.9.2。激活test环境后执行命令出现版本不一致的情况。

执行命令及输出

$ conda --version
22.9.0
$ conda env export | grep conda=
  - anaconda=2020.11=py38_0
  - conda=4.9.2=py38h06a4308_0

conda info输出

active environment : test
    active env location : /home/username/.conda/envs/test
            shell level : 2
       user config file : /home/username/.condarc
 populated config files : /home/username/.condarc
          conda version : 22.9.0
    conda-build version : 3.22.0
         python version : 3.9.13.final.0
       virtual packages : __cuda=12.4=0
                          __linux=5.15.153.1=0
                          __glibc=2.35=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/anaconda3/2022.10  (read only)
      conda av data dir : /opt/anaconda3/2022.10/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 : /opt/anaconda3/2022.10/pkgs
                          /home/username/.conda/pkgs
       envs directories : /home/username/.conda/envs
                          /opt/anaconda3/2022.10/envs
               platform : linux-64
             user-agent : conda/22.9.0 requests/2.28.1 CPython/3.9.13 Linux/5.15.153.1-microsoft-standard-WSL2 ubuntu/22.04.5 glibc/2.35
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

原因解析

conda的核心执行程序(conda命令)是安装在base环境中的,所有子环境都会调用base环境里的conda来执行命令。即使你在test环境中安装了conda=4.9.2,这个包只是作为环境内的一个依赖存在,并不会替换掉base环境中conda的执行程序。

从conda info的输出也能看出,base environment指向的是/opt/anaconda3/2022.10,这里的conda版本是22.9.0,所以执行conda --version时,调用的始终是base环境里的conda,显示的是22.9.0;而conda env export输出的是当前test环境中安装的所有包,其中包含你特意安装的conda=4.9.2,所以两者版本不一致。

解决办法

如果需要在test环境中使用conda=4.9.2版本,不能直接在子环境安装conda包,可通过以下方式:

  • 直接在base环境降级conda到4.9.2,但这样会影响所有环境的conda版本。
  • 创建一个独立的miniconda/anaconda环境,安装conda=4.9.2,将其作为新的base环境使用,避免和原有base环境冲突。
  • 使用conda run命令指定在test环境中执行conda相关操作,但这种方式仅适用于特定命令场景,无法完全替换base环境的conda版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:45:03