Windows 11 安装 Miniconda + Mamba,配置国内源
Windows 11 安装 Miniconda + Mamba,配置国内源
文章目录
- Windows 11 安装 Miniconda + Mamba,配置国内源
- 1. Conda & Mamba 简介
- 1.1. Conda 在 Python 领域的作用
- 1.2. Anaconda VS Miniconda
- 1.3. Mamba 简介
- 1.4. Conda 与 Mamba 的关系及安装顺序说明
- 1.4.1. Conda 与 Mamba 的关系
- 1.4.2 Mamba vs Conda 原理对比
- 1.4.3. 为什么需要先安装 Conda 再安装 Mamba
- 2. 安装 Miniconda
- 2.1. 下载安装包
- 2.2. 关键步骤选择
- 2.3. 安装后初步验证
- 3. 配置 conda
- 3.1. 编辑配置文件
- 3.2. 支持 conda 命令在 powershell 中正常使用
- 3.3. 在 conda 的 base 环境配置 pip 国内源
- 4. 安装配置 Mamba
- 5. 最终验证
- 5.1. 验证 Conda
- 5.2. 验证 Mamba
前置声明: 其他方案(Mambaforge、Miniforge、Micromamba、pip、pip-tools、poetry、hatch、uv、pdm 等)不在本文讨论范围内。
1. Conda & Mamba 简介
1.1. Conda 在 Python 领域的作用
- 环境隔离与依赖冲突: 轻松创建相互隔离的虚拟环境,解决不同项目对 Python 版本和第三方库(尤其是相互冲突的版本)的需求,避免全局安装的混乱。
- 跨平台二进制依赖管理: 不仅能安装 Python 包,还能无缝管理复杂的非 Python 依赖库(如 C/C++ 库如 NumPy、SciPy 依赖的 MKL、BLAS 等),解决了纯 Python 包管理器(如 pip)在编译和链接这些依赖时的困难,尤其在 Windows 上。
- 包版本一致性: 强大的依赖解析器确保环境内所有包(包括底层系统库)的版本兼容性,解决“依赖地狱”问题。
- 便捷的科学计算栈安装: 特别适合数据科学领域,一键安装包含 Python、核心科学库(NumPy, Pandas, Scikit-learn 等)及其复杂二进制依赖的完整、预编译好的环境。
1.2. Anaconda VS Miniconda
如果你是新手,刚开始使用 Conda,有两个主要的选择:Anaconda 和 Miniconda。这两个都是 Conda 的安装方式,但它们的大小和内容不同,适合不同的需求:
-
Anaconda:这是一个“全家桶”版本,大约 3-5 GB 大小。它包括 Conda 本身、Python,以及上百个预装的科学计算包(如 NumPy、Pandas、Matplotlib 等)和工具(如 Jupyter Notebook)。如果你想快速上手数据科学、机器学习或科研项目,而不介意下载大文件,Anaconda 是可选项。但缺点是安装慢、占用空间大,如果你的电脑存储有限,可能不合适。
-
Miniconda:这是一个“精简版”,只有几百 MB 大小。它只包含 Conda 和 Python,没有额外包。你需要自己用 Conda 命令安装所需的软件(比如
conda install numpy
)。如果你经验稍多、想自定义环境、节省空间,或者只用 Conda 管理少量包,Miniconda 更合适。它安装快、灵活,但新手可能需要多学几条命令来添加包。
建议:作为新手,从 Miniconda 开始,尤其是如果你想保持系统轻量、避免大文件下载,或者逐步学习 Conda 的命令。它更灵活,能让你更好地理解环境管理。两者都能在官网(conda.io)免费下载,支持 Windows、macOS 和 Linux。安装后,用命令如 conda create -n myenv python=3.10
创建环境,就能开始了!
1.3. Mamba 简介
Mamba 是 Conda 的 C++ 重写版本,通过并行依赖解析算法和多线程下载技术,将环境创建和包安装速度提升 5-10 倍。安装 Mamba 可彻底解决传统 Conda 在复杂环境下的"Solving environment"卡顿问题,尤其适合需要频繁切换环境的数据科学家和开发者,同时完全兼容 Conda 的配置文件和操作习惯,无需改变原有工作流即可获得飞跃式性能提升。
关键价值:当 Conda 安装大型环境(如 PyTorch + CUDA)需要 10 分钟时,Mamba 能在 1 分钟内完成,且内存占用降低 30%。
1.4. Conda 与 Mamba 的关系及安装顺序说明
1.4.1. Conda 与 Mamba 的关系
Mamba 并非要取代 Conda,而是作为 Conda 的高性能替代前端,两者共享相同的包格式、环境管理机制和配置文件(如 .condarc
)。你可以将 Mamba 理解为 Conda 的"加速版",它重写了 Conda 最耗时的两个组件:
- 依赖解析器:使用并行 SAT 求解算法替代 Conda 的单线程求解
- 包下载器:采用多线程技术大幅提升下载效率
关键特性对比:
- 兼容性:Mamba 完全兼容 Conda 命令(
create/install/remove/update
等) - 生态共享:使用相同的包仓库(conda-forge、defaults 等频道)
- 配置统一:共用
.condarc
配置文件和环境目录
1.4.2 Mamba vs Conda 原理对比
特性 | Conda | Mamba |
---|---|---|
依赖解析算法 | SAT求解器 | 并行求解器 |
下载方式 | 单线程 | 多线程 |
内存占用 | 较高 | 优化30% |
安装速度 | 基准 | 快5-10倍 |
1.4.3. 为什么需要先安装 Conda 再安装 Mamba
Mamba 本身是一个 Conda 包,其安装依赖于 Conda 环境管理系统:
- 基础设施依赖:
- Conda 提供了核心的环境隔离、包解压和依赖管理功能
- Mamba 需要基于这些基础能力运行
- 自举过程:
- 首次安装必须通过
conda install mamba
完成 - 安装后 Mamba 便可独立管理环境(包括更新自身)
- 首次安装必须通过
- 技术说明:
- 虽然存在独立发行的 Mambaforge(直接集成 Mamba 的 Miniconda 变体),但本文选择标准 Miniconda + 后装 Mamba 的方案,原因包括:
- 使用 Conda 官方 Miniconda 包
- 渐进式学习,先学习 Conda,再接触 Mamba,易于理解
- 部分用户已经安装了 Conda,但需要 Mamba,可直接在这个基础上安装 Mamba
- 虽然存在独立发行的 Mambaforge(直接集成 Mamba 的 Miniconda 变体),但本文选择标准 Miniconda + 后装 Mamba 的方案,原因包括:
2. 安装 Miniconda
2.1. 下载安装包
官方下载页面:https://www.anaconda.com/download/success
注意:
如果官方网站速度慢,请选择去以下镜像源下载:
清华大学镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
选择最新版(截至目前 2025年8月19日 最新版是 py313_25.5.1)的 Windows 系统 x86_64 架构的包:
Miniconda3-py313_25.5.1-1-Windows-x86_64.exe
2.2. 关键步骤选择
双击下载的安装包,进入安装向导。遇到选择、填写的地方,参考下方内容:
- 选择 Just Me:
注意:
- 如果选择
All Users
,后面的将 Anaconda 添加到 PATH 环境变量
的选项会被禁用。到时候你需要手动配置环境变量。- 选择
Just Me
,后面则可勾选将 Anaconda 添加到 PATH 环境变量
选项,安装程序会自动配置当前用户的Path环境变量,这样可以省去手动配置环境变量的麻烦。
安装位置填写:D:\soft\miniconda3
,避免C盘空间不足
勾选以下 3 个选项:
- Create shortcuts (supported packages only).
- Add Miniconda3 to my PATH environment variable
- Register Miniconda3 as my default Python 3.13
去除勾选以下选型,点击完成安装:
- Getting started with Condal
- Welcome to Anaconda
2.3. 安装后初步验证
# 打开PowerShell执行
conda --version
# 应显示: conda 25.5.1python --version
# 应显示: Python 3.13.x
3. 配置 conda
3.1. 编辑配置文件
在用户目录(C:\Users\<你的用户名>\
)下 新建
-> 文本文档
,命名为 .condarc
。
注意:
新建
->文本文档
后,默认扩展名是.txt
,记得删掉.txt
扩展名。- 如果没有看到扩展名
.txt
,在文件资源管理器中点击“查看” > “选项”,取消勾选“隐藏已知文件类型的扩展名”。
右击 .condarc
,用记事本编辑,写入以下内容。
channels:- defaults- conda-forgechannel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpkgs/pro: https://mirrors.tuna.tsinghua.edu.cn/anacondashow_channel_urls: true
auto_activate_base: false
配置文件说明:
channels
:这是你安装包时默认搜索的频道列表(优先级从上到下)defaults
:指向 Anaconda 官方的默认频道(但通过 channel_alias 和 default_channels 被重定向到清华镜像)。conda-forge
:一个非常流行的开源社区频道,包更新快、质量高,很多现代 Python 包(如 PyTorch、ONNX、Jupyter)都优先从这里安装。- 实际效果:当你运行 mamba install numpy 时,会先在 defaults 中找,找不到再去 conda-forge 找。
channel_alias
是一个“前缀别名”,用于自动将频道 URL 重写为镜像地址。- 例如:
- 当你写
-c conda-forge
,Conda 会自动拼接成:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
- 同理,
-c pytorch
→https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
- 注意:
channel_alias
只对未完整指定 URL 的频道生效(即 -c pytorch 这种简写),对完整 URL 无效。
default_channels
:这是 defaults 频道实际包含的子频道列表,覆盖了 Anaconda 官方的默认源。pkgs/main
:核心 Python 包和 Anaconda 官方维护的包(如 Python、NumPy、SciPy)pkgs/r
:R 语言相关包pkgs/msys2
:Windows 下的系统工具链(如 gcc、make),用于编译扩展- 通过这个配置,
defaults
不再访问https://repo.anaconda.com
,而是走清华镜像,大幅提升下载速度。
custom_channels
:定义了简写频道名到完整镜像 URL 的映射。- 当你使用
-c pytorch
,Conda 会查找custom_channels
中的pytorch
,并拼接成:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
conda-forge
:现代化、更新快的开源包pytorch
:PyTorch 官方发布的包(含 CUDA 支持)bioconda
:生物信息学相关包menpo
:计算机视觉/人脸相关(较少用)msys2
:Windows 编译工具pkgs/pro
:Anaconda Professional 工具(已基本弃用)
- 当你使用
show_channel_urls: true
- 启用后,
conda list
、conda install
等命令会显示包来自哪个频道和 URL。 - 方便调试,知道某个包是从
conda-forge
还是pytorch
安装的。 - 推荐开启,便于排查依赖冲突。
- 启用后,
auto_activate_base: false
表示打开终端时不自动进入 (base) 环境,更干净。true
:每次打开终端(PowerShell/CMD)时,自动激活 (base) 环境。false
:不自动激活,保持干净的 shell 环境。- 推荐设为
false
,避免污染全局环境,只在需要时手动 conda activate。
3.2. 支持 conda 命令在 powershell 中正常使用
# 为 PowerShell 初始化 Conda 的 shell 集成
conda init powershell# 允许运行本地编写的脚本(从网络下载的脚本必须有数字签名)。只对当前用户生效,不影响系统其他用户。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
关闭并重启 PowerShell 终端。
3.3. 在 conda 的 base 环境配置 pip 国内源
# 1. 激活 base 环境
conda activate base
# 命令提示符会显示 (base) 前缀# 2. 设置永久镜像源(清华源)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple# 3. 添加信任主机(避免 HTTPS 警告)
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
验证配置:
# 查看生效配置
pip config list
# 应显示:
# global.index-url='https://pypi.tuna.tsinghua.edu.cn/simple'
# global.trusted-host='pypi.tuna.tsinghua.edu.cn'
退出 base 环境:
conda deactivate
# 命令提示符的 (base) 前缀会消失
4. 安装配置 Mamba
# 安装Mamba
conda install -n base -c conda-forge mamba -y# PowerShell 初始化 mamba 的 shell 集成
mamba shell init --shell powershell
# 选y
# Enter admin mode to enable long paths support?: [y/N] y
# 弹窗选“是”# CMD 初始化 mamba 的 shell 集成
mamba shell init --shell cmd.exe
关闭并重启 PowerShell 终端。
5. 最终验证
5.1. 验证 Conda
打开 PowerShell 或 CMD 终端,输入以下命令:
# 创建新环境
conda create -n test-conda python=3.10
# 下方选y,回车继续
# Proceed ([y]/n)? y# 列出所有环境
conda env list
# 预期:可以找到下面内容
# test-conda D:\soft\miniconda3\envs\test-conda# 激活环境
conda activate test-conda
# 如果是PowerShell中,提示符将变成以 (test-mamba) (test-mamba) 开头
# 如果是CMD中,提示符将变成以 (test-mamba) 开头# 退出环境
conda deactivate# 删除环境
conda env remove -n test-conda
# 下方都选y,回车继续
# Proceed ([y]/n)? y
# Do you wish to continue?
# (y/[n])? y# 再次列出所有环境
conda env list
# 预期:下面内容已经从输出列表中消失
# test-conda D:\soft\miniconda3\envs\test-conda
5.2. 验证 Mamba
打开 PowerShell 或 CMD 终端,输入以下命令:
# 创建新环境
mamba create -n test-mamba python=3.11
# 下方选y,回车继续
# Confirm changes: [Y/n] y# 列出所有环境
mamba env list
# 预期:可以找到下面这一行
# test-mamba D:\soft\miniconda3\envs\test-mamba# 激活环境
mamba activate test-mamba
# 如果是PowerShell中,提示符将变成以 (test-mamba) (test-mamba) 开头
# 如果是CMD中,提示符将变成以 (test-mamba) 开头# 退出环境
mamba deactivate# 删除环境
mamba env remove -n test-mamba
# 下方选y,回车继续
# Confirm changes: [Y/n] y# 再次列出所有环境
mamba env list
# 预期:下面内容已经从输出列表中消失
# test-mamba D:\soft\miniconda3\envs\test-mamba