Windows 11 安装 Miniforge,配置国内源
Windows 11 安装 Miniforge,配置国内源
文章目录
- Windows 11 安装 Miniforge,配置国内源
- 1. Miniforge 简介
- 1.1. Miniforge ≈ conda + mamba + conda-forge源
- 1.2. Conda 简介
- 1.3. Mamba 简介
- 1.4. 为什么选择 Miniforge
- 1.5. 关于 ~~Mambaforge~~
- 2. 安装
- 2.1 下载 Miniforge
- 2.2. 安装前准备
- 2.3. 安装步骤
- 3. 配置
- 3.1. 编辑配置文件
- 3.2. 初始化 shell
- 3.3. 解决 PowerShell 出现两个环境提示符问题
- 4. 验证
- 4.1. 验证 Conda
- 4.2. 验证 Mamba
1. Miniforge 简介
1.1. Miniforge ≈ conda + mamba + conda-forge源
Miniforge 是一个类似 Miniconda 的最小化 conda 发行版,但由 conda-forge 社区维护。它提供一个轻量、简洁的环境,预装了 conda 和 mamba,默认将 conda-forge 作为唯一的软件源,不包含 Anaconda 发行版中的非必要工具(如 Anaconda Navigator)或商业功能。这使得 Miniforge 成为追求开源纯净性、高性能包管理和可重复科学计算环境的用户的理想选择。
1.2. Conda 简介
Miniforge 中预装了 conda,这里介绍一下 conda 在 Python 领域的作用。
- 环境隔离与依赖冲突: 轻松创建相互隔离的虚拟环境,解决不同项目对 Python 版本和第三方库(尤其是相互冲突的版本)的需求,避免全局安装的混乱。
- 跨平台二进制依赖管理: 不仅能安装 Python 包,还能无缝管理复杂的非 Python 依赖库(如 C/C++ 库如 NumPy、SciPy 依赖的 MKL、BLAS 等),解决了纯 Python 包管理器(如 pip)在编译和链接这些依赖时的困难,尤其在 Windows 上。
- 包版本一致性: 强大的依赖解析器确保环境内所有包(包括底层系统库)的版本兼容性,解决“依赖地狱”问题。
- 便捷的科学计算栈安装: 特别适合数据科学领域,一键安装包含 Python、核心科学库(NumPy, Pandas, Scikit-learn 等)及其复杂二进制依赖的完整、预编译好的环境。
1.3. Mamba 简介
Miniforge 中同时也预装了 Mamba,这里介绍一下 Mamba。
Mamba 是 conda 的一个高性能实现,具有以下显著优势:
- 极速安装:使用 C++ 实现的依赖解析器,采用并行 SAT 求解算法、多线程下载技术,比 conda 快
- 更可靠的依赖解析:解决复杂环境中的依赖冲突更高效
- 更好的用户体验:清晰的进度显示和错误信息
- 完全兼容 conda 命令:所有 conda 命令都可以用 mamba 替代
1.4. 为什么选择 Miniforge
- 便捷省事:安装 Miniforge 后,相当于同时安装了 conda + mamba
- 无商业限制:Anaconda 的 defaults 渠道从 2022 年 1 月开始对商业用户收费(Anaconda 服务条款),而 Miniforge 使用的默认软件源 conda-forge 完全免费
- 开源纯净:Miniforge 完全基于开源软件,不包含 Anaconda 中的商业组件
- 轻量高效:安装包体积小(约 50MB),安装速度快,占用磁盘空间少
- 社区驱动:由 conda-forge 社区维护,软件更新更及时
重要说明:从 2022 年 1 月 1 日起,Anaconda 的 defaults 渠道对商业用户收费,虽然个人和学术用途仍可免费使用,但为了规避潜在的许可风险,推荐使用完全开源免费的 conda-forge 渠道。
1.5. 关于 Mambaforge
Miniforge 和 Mambaforge 都是 conda-forge 社区开发的工具,用于快速安装最小化的 Conda 环境和 Mamba 包管理器。它们支持多种 CPU 类型。
起初,Mambaforge 是 Miniforge 的一个版本,更注重用 Mamba(比 Conda 更快)作为默认求解器。但从 2023 年 8 月的 Miniforge 23.3.1 版起,Miniforge 也包含了 Mamba,并将其作为默认工具,二者功能完全一样,只在安装文件名和默认文件夹(如 mambaforge vs. miniforge3)上不同。
为了简化维护并避免用户困惑,2024 年 7 月,社区决定停用 Mambaforge,建议大家改用 Miniforge。停用步骤包括:从 2024 年 8 月加警告,10 月起偶尔拒绝安装,到 2025 年 1 月完全停止提供。现在(2025 年 8 月),Mambaforge 已完全不可用。
总之,Mambaforge 现在已过时,与 Miniforge 等效。如果你还在用 Mambaforge,最好尽快切换到 Miniforge 以获得持续支持。
2. 安装
2.1 下载 Miniforge
注:以下下载方式选一个就行,推荐清华大学开源软件镜像站。
- 方式一(推荐):清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/LatestRelease/
- 方式二:GitHub:https://github.com/conda-forge/miniforge/releases
- 注意:GitHub 下载速度可能较慢
- 方式三:南京大学开源镜像站:https://mirror.nju.edu.cn/github-release/conda-forge/miniforge/LatestRelease/
找到并下载 Miniforge3-Windows-x86_64.exe
2.2. 安装前准备
- 关闭所有正在运行的命令行窗口(CMD、PowerShell)
- 临时禁用杀毒软件(某些安全软件会拦截安装过程)
2.3. 安装步骤
运行安装程序:双击下载的 .exe
文件。
点击 “Next”,点击 “I Agree”。
选择 “Just Me”,点击 “Next”:
安装位置填写 D:\soft\miniforge3
,点击 “Next”:
勾选以下 3 个选项,点击 “Install”:
- Create shortcuts (supported packages only).
- Add Miniforge3 to my PATH environment variable
- Register Miniforge3 as my default Python 3.12
完成后点击"Next",再击 “Finish”。
3. 配置
3.1. 编辑配置文件
在用户目录(C:\Users\<你的用户名>\
)下 新建
-> 文本文档
,命名为 .condarc
。
小贴士:
- 如果不知道 你的用户名,桌面右击,点击“在终端中打开”,输入
whoami
,按回车,输出内容\
后面的就是你的用户名;比如hsxbk\hsx
,其中hsx
就是我的用户名。新建
->文本文档
后,默认扩展名是.txt
,记得删掉.txt
扩展名。- 如果没有看到扩展名
.txt
,在文件资源管理器中点击“查看” > “选项”,取消勾选“隐藏已知文件类型的扩展名”。
右击 .condarc
,用记事本编辑,写入以下内容:
channels:- conda-forge- pytorch- bioconda- menpo- msys2- rapidsai- numba- pyviz- dglteam- deepmodelingchannel_alias: https://mirrors.tuna.tsinghua.edu.cn/anacondacustom_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/cloudrapidsai: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudnumba: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpyviz: https://mirrors.tuna.tsinghua.edu.cn/anaconda/clouddglteam: https://mirrors.tuna.tsinghua.edu.cn/anaconda/clouddeepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudshow_channel_urls: true
auto_activate_base: false
channel_priority: strict
保存配置文件,并关闭记事本。
配置文件解释:
channels
: 指定包搜索渠道列表,按优先级从高到低排列,同名包优先使用列表靠前渠道的版本channel_alias
: 渠道别名前缀,简化自定义渠道URL,自动添加到渠道名前构成完整URLcustom_channels
: 自定义渠道映射,将渠道名直接映射到完整URL,优先级高于channel_aliasshow_channel_urls
: 是否显示包来源渠道URL,true表示安装时会显示包的具体来源auto_activate_base
: 是否自动激活base环境,false表示启动终端时不自动进入base环境channel_priority
: 渠道优先级策略,strict表示严格遵循channels顺序- 配置文件中用了国内的清华的镜像源。conda-forge 的官方服务器位于国外,国内访问速度慢且不稳定。配置国内镜像源可以显著提升包下载速度。
配置文件中的渠道说明:
渠道名 | 说明 |
---|---|
conda-forge | 开源社区维护的大型包仓库,包含广泛科学计算和数据分析包 |
pytorch | PyTorch深度学习框架官方渠道,含CUDA版本 |
bioconda | 生物信息学专用软件包仓库,含大量生物数据分析工具 |
menpo | 计算机视觉与图像处理相关包 |
msys2 | Windows上类Unix环境工具链,提供bash等工具 |
rapidsai | GPU加速数据科学库(RAPIDS)集合 |
numba | JIT编译器及相关高性能计算包 |
pyviz | 可视化工具包集合,含HoloViews等库 |
dglteam | 深度图学习框架Deep Graph Library官方渠道 |
deepmodeling | 深度学习与分子模拟交叉领域软件包 |
其他未配置的渠道,有需要的请自行添加:
配置方法:
channels:
下添加- 渠道名
custom_channels:
下并添加映射关系,映射关系为渠道名: 渠道URL
,渠道URL为https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
渠道名 | 说明 |
---|---|
MindSpore | 华为开源的深度学习框架 |
Paddle | 百度PaddlePaddle深度学习框架 |
biobakery | 微生物组分析工具集 |
c4aarch64 | ARM64架构专用包 |
caffe2 | Caffe2深度学习框架(已并入PyTorch) |
fastai | 简化深度学习的高级库 |
fermi | 可能与NVIDIA Fermi架构GPU计算相关 |
idaholab | 爱达荷国家实验室科学计算软件 |
intel | Intel优化的数学库和计算软件 |
matsci | 材料科学计算专用软件 |
mordred-descriptor | 化学分子描述符计算工具 |
omnia | 生物分子模拟软件集合 |
plotly | 交互式数据可视化库 |
psi4 | 开源量子化学计算软件 |
pytorch-lts | PyTorch长期支持版本 |
pytorch-test | PyTorch测试/预发布版本 |
pytorch3d | PyTorch 3D深度学习库 |
qiime2 | 微生物组数据分析平台 |
rdkit | 化学信息学核心工具包 |
simpleitk | 医学图像处理简化接口 |
defaults渠道说明,有需要的请自行添加:
注意:defaults 渠道商用收费,个人和学术免费,镜像源也不会改变许可性质。
配置方法:
channels:
下 添加- defaults
- 添加配置项
default_channels:
,下面添加- 渠道URL
,渠道URL以https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/
开头例:
channels:- defaults 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
defaults 子渠道 | 说明 |
---|---|
free | 完全开源的软件包 |
main | Anaconda主要维护的软件包 |
mro | Microsoft R Open |
msys2 | Windows上的类Unix环境工具 |
pro | Anaconda商业版特有软件包 |
r | R语言相关软件包 |
3.2. 初始化 shell
桌面右击,点击“在终端中打开”,将打开 PowerShell 终端。
# 查看 conda 的版本
conda --version
# 将显示conda的版本号:
# conda 25.3.1# 查看 mamba 的版本
mamba --version
# 将显示mamba的版本号:
# 2.1.1# 允许运行本地编写的脚本(从网络下载的脚本必须有数字签名)。只对当前用户生效,不影响系统其他用户。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser# PowerShell 初始化 conda 的 shell 集成
conda init powershell# 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 终端。
3.3. 解决 PowerShell 出现两个环境提示符问题
注意:
- 如果你不介意 PowerShell 中显示两个环境提示符,如
(base) (base) PS D:\tmp>
,可以跳过本节。- 按本节操作后:
- 在 PowerShell 中,仅可使用 mamba;而 conda 将无法 activate 环境。
- 在 CMD 中,mamba 和 conda 均可正常使用。
用记事本打开C:\Users\<你的用户名>\Documents\WindowsPowerShell\profile.ps1
(注:中文 Windows 中,
Users
显示为用户
,Documents
显示为文档
)
删除其中以下内容:
#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
If (Test-Path "D:\soft\miniforge3\Scripts\conda.exe") {(& "D:\soft\miniforge3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | ?{$_} | Invoke-Expression
}
#endregion
注意:不要删错,找到
#region conda initialize
开头的删掉,不是#region mamba initialize
开头的。
关闭并重启 PowerShell 终端。
4. 验证
4.1. 验证 Conda
同时按 win + R
键,输入 cmd
,按回车,将打开 CMD 终端,输入以下命令:
# 创建新环境
conda create -n test-conda python=3.10
# 下方选y,回车继续
# Proceed ([y]/n)? y# 列出所有环境
conda env list
# 预期:可以找到下面内容
# test-conda D:\soft\miniforge3\envs\test-conda# 激活 test-conda 环境
conda activate test-conda
# 提示符将变成以以环境提示符 (test-mamba) 开头# 测试:从 conda-forge 渠道安装一个包 pyfiglet(改包可打印大字,超显眼)
conda install -c conda-forge pyfiglet -y
# 测试:用 pyfiglet 打印 Hello Conda !
python -c "from pyfiglet import figlet_format; print(figlet_format('Hello Conda !'))"
# 预期输出:
# _ _ _ _ ____ _ _
# | | | | ___| | | ___ / ___|___ _ __ __| | __ _ | |
# | |_| |/ _ \ | |/ _ \ | | / _ \| '_ \ / _` |/ _` | | |
# | _ | __/ | | (_) | | |__| (_) | | | | (_| | (_| | |_|
# |_| |_|\___|_|_|\___/ \____\___/|_| |_|\__,_|\__,_| (_)# 退出环境
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\miniforge3\envs\test-conda
4.2. 验证 Mamba
桌面右击,点击“在终端中打开”,将打开 PowerShell 终端,(或者,同时按 win + R
键,输入 cmd
,按回车,将打开 CMD 终端),输入以下命令:
# 创建新环境
mamba create -n test-mamba python=3.11
# 下方选y,回车继续
# Confirm changes: [Y/n] y# 列出所有环境
mamba env list
# 预期:可以找到下面这一行
# test-mamba D:\soft\miniforge3\envs\test-mamba# 激活 test-mamba 环境
mamba activate test-mamba
# 提示符将变成以环境提示符 (test-mamba) 开头# 测试:从 conda-forge 渠道安装一个包 pyfiglet(改包可打印大字,超显眼)
mamba install -c conda-forge pyfiglet -y
# 测试:用 pyfiglet 打印 Hello Mamba !
python -c "from pyfiglet import figlet_format; print(figlet_format('Hello Mamba !'))"
# 预期输出:
# _ _ _ _ __ __ _ _
# | | | | ___| | | ___ | \/ | __ _ _ __ ___ | |__ __ _ | |
# | |_| |/ _ \ | |/ _ \ | |\/| |/ _` | '_ ` _ \| '_ \ / _` | | |
# | _ | __/ | | (_) | | | | | (_| | | | | | | |_) | (_| | |_|
# |_| |_|\___|_|_|\___/ |_| |_|\__,_|_| |_| |_|_.__/ \__,_| (_)# 退出环境
mamba deactivate# 删除环境
mamba env remove -n test-mamba
# 下方选y,回车继续
# Confirm changes: [Y/n] y# 再次列出所有环境
mamba env list
# 预期:下面内容已经从输出列表中消失
# test-mamba D:\soft\miniforge3\envs\test-mamba