Conda 报错 No module named 'conda_libmamba_solver' 的成因与修复

Conda 报错 No module named 'conda_libmamba_solver' 诊断与修复指南

1 · 现象概览

# 打开终端时
Error while loading conda entry point: conda-libmamba-solver
(No module named 'conda_libmamba_solver')
关键环境变量 当前值
which conda /home/user/anaconda3/bin/conda
She-bang #!/home/user/anaconda3/bin/python
$CONDA_PREFIX /home/user/anaconda3

conda list 能列出 conda-libmamba-solver,说明 Conda 调用的 Python 与包目录一致,但对应模块目录缺失或版本不匹配。


2 · 可能根因 🤔

根因 说明
包目录残缺 site-packages/conda_libmamba_solver 被误删或解压不完整
版本不匹配 例如 conda 23.x + conda-libmamba-solver 24.x 接口不兼容
强制加载 .condarcsolver: libmamba → Conda 启动即 import 该模块

3 · 一键修复 ✔️

思路:先退回 classic 求解器(避免再次导入损坏模块),再 同版本重装 整套 libmamba 组件。

# ① 永久改回 classic(写入 ~/.condarc)
CONDA_SOLVER=classic conda config --set solver classic

# ② 同版本强制重装(以 conda-forge 24.5 为例)
CONDA_SOLVER=classic \
conda install -n base -c conda-forge \
  "conda>=24.5,<25" \
  "conda-libmamba-solver>=24.5,<25" \
  "libmamba>=1.5,<2" \
  "libmambapy>=1.5,<2" \
  "mamba>=1.5,<2" \
  --update-deps --force-reinstall -y

可选:恢复极速求解器

conda config --set solver libmamba

确认:conda info | grep solverlibmamba,且已无报错。


4 · 排障速记 💡

  1. 救命开关

    CONDA_SOLVER=classic <任何 conda 子命令>
    
  2. 版本锁定
    始终保持 condaconda-libmamba-solver 同大版本号

  3. 彻底崩溃时(仅限急救):

    pip install --force-reinstall "conda-libmamba-solver==24.5.*"
    

    或用 micromamba 拉起一个干净的 base 环境。


5 · 常用命令速查

功能 命令
查看当前 solver `conda info --json
临时禁用 libmamba export CONDA_NO_USE_LIBMAMBA=1
清除缓存 conda clean --index-cache --lock --tarballs --yes
查看依赖冲突树 mamba install <pkg> --why
Comment