应直接下载官方安装脚本安装miniconda:wget https://repo.anaconda.com/miniconda/miniconda3-latest-linux-x86_64.sh,校验后静默安装并运行conda init bash,否则conda命令不生效;推荐用mamba替代conda以加速依赖解析。

直接下载安装脚本并执行,别用包管理器装 Miniconda
系统自带的 apt 或 dnf 仓库里的 miniconda 包通常过时、路径混乱、甚至缺失 conda init 功能。官方只保证从 conda.io 下载的安装脚本能正确初始化 shell 环境。
实操建议:
- 用
wget或curl直接获取最新 Linux x86_64 脚本:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh - 校验 SHA256(可选但推荐):
sha256sum Miniconda3-latest-Linux-x86_64.sh,比对官网页面公布的哈希值 - 运行安装:
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3(-b静默模式,-p指定路径,避免写入/opt或需要sudo) - 立即初始化:
$HOME/miniconda3/bin/conda init bash,然后source ~/.bashrc
安装后必须运行 conda init,否则 conda 命令不生效
很多人解压或安装完就直接敲 conda --version,报错 command not found —— 这不是路径没加对,而是 conda 没有注入 shell 的启动逻辑。它不会自动改 PATH,而是通过修改 ~/.bashrc 插入一段初始化代码。
常见错误现象:
-
conda命令不存在,但$HOME/miniconda3/bin/conda手动调用可以运行 - 重启终端后仍无法识别
conda
原因和解决:
- 没运行
conda init:补执行,再source ~/.bashrc - 用了非交互式 shell(如 VS Code 终端默认不加载
~/.bashrc):在设置中启用"terminal.integrated.profiles.linux"并设"args": ["-i"],或改用zsh+conda init zsh - 安装时用了
sudo导致写入了 root 的~/.bashrc:切回普通用户重装,绝对不要用sudo bash Miniconda*.sh
配置轻量环境:用 mamba 替代 conda install,禁用默认通道
原生 conda 解析依赖慢、容易卡在 solving environment,尤其在 CI 或低配 VPS 上。这不是网络问题,是 SAT 求解器本身开销大。
实操建议:
- 先装
mamba:conda install mamba -c conda-forge(首次稍慢,之后所有install/create都快一个数量级) - 创建干净环境时显式指定通道:
mamba create -n myenv python=3.11 -c conda-forge,避免 conda 自动 fallback 到慢速的defaults通道 - 删掉默认通道配置(防意外污染):
conda config --remove-key channels,之后只靠-c显式声明 - 禁用
pip混合安装(除非真需要):conda config --set pip_interop_enabled false,减少环境不确定性
conda activate 失败?检查是否启用了 shell 函数而非 alias
执行 conda activate myenv 报错 CommandNotFoundError: Your shell has not been properly configured...,大概率是因为你手动改过 ~/.bashrc,覆盖或注释掉了 conda 注入的函数定义段。
定位方法:
- 搜
~/.bashrc里有没有# >>> conda initialize >>>到# 这段 - 如果没有,重新运行
$HOME/miniconda3/bin/conda init bash;如果有但被注释,取消注释并source ~/.bashrc - 确认
conda是函数而非 alias:type conda应输出conda is a function;若是is aliased to,说明初始化失败或被覆盖
注意:conda activate 依赖 shell 函数动态修改 PATH 和 CONDA_DEFAULT_ENV,alias 无法做到这点 —— 这也是为什么不能靠简单加 export PATH=... 来“替代”激活。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











