使用 Scoop 安装 Mambaforge 踩坑指南
注意! 截至 2024 年 7 月,mambaforge 已被弃用,应使用 miniforge 作为替代
鉴于目前 scoop 官方仓库还没有收录 miniforge, 可以考虑从 Sccopforge/Extras-cn bucket 安装 miniforge-cn
具体流程如下:
- 添加 extras-cn bucket
scoop bucket add extras-cn https://github.com/Scoopforge/Extras-CN
- 安装 miniforge-cn
scoop install miniforge-cn
- 初始化 conda
conda init powershell
...
modified D:\ScoopApps\apps\miniforge-cn\current\Scripts\activate
modified D:\ScoopApps\apps\miniforge-cn\current\Scripts\deactivate
modified D:\ScoopApps\apps\miniforge-cn\current\etc\profile.d\conda.sh
modified D:\ScoopApps\apps\miniforge-cn\current\etc\fish\conf.d\conda.fish
no change D:\ScoopApps\apps\miniforge-cn\current\shell\condabin\Conda.psm1
modified D:\ScoopApps\apps\miniforge-cn\current\shell\condabin\conda-hook.ps1
modified D:\ScoopApps\apps\miniforge-cn\current\Lib\site-packages\xontrib\conda.xsh
modified D:\ScoopApps\apps\miniforge-cn\current\etc\profile.d\conda.csh
modified C:\Users\user\Documents\PowerShell\profile.ps1
modified C:\Users\user\Documents\WindowsPowerShell\profile.ps1
- 迁移 Manbaforge 环境 (可选)
Mambaforge 遗留的环境默认在 [your scoop root]\persist\mambaforge\env
路径下,修改 ~/.condarc 以将 miniconda 的环境目录修改至 mambaforge 的位置
notepad ~/.condarc
在 .condarc 的最后加上下面的内容
envs_dirs:
- [your scoop root]\persist\mambaforge\env
不知道 persist 文件夹在哪的可以参考手动配置中的步骤 3:查找你的实际路径
为什么用 Scoop 安装 Mambaforge?
Mambaforge 作为 Anaconda 的轻量级替代品,以其极速包管理能力脱颖而出。而 Scoop 则是 Windows 平台上优雅的包管理解决方案:
- ✅ 闪电般的依赖解析(比 conda 快 10 倍)
- ✅ 无缝环境隔离
- ✅ 一键安装/更新体验
- ✅ 整洁的路径管理
完整安装流程(含问题解决方案)
步骤 1:安装 Scoop 和 Mambaforge
# 安装 Scoop(若未安装)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
# 添加 extras 软件仓库
scoop bucket add extras
# 安装 Mambaforge
scoop install mambaforge
步骤 2:初始化 PowerShell 环境
# 注意!!!截至2025.7.18,安装mambaforge后需要先更新mamba本身
mamba update --all
# 初始化 PowerShell 支持
mamba init powershell
步骤 3:发现问题 - 环境激活失败
尝试创建并激活环境时会出现错误:
mamba create -n test python=3.11 -y
mamba activate test # 这里会报错!
问题根源:
mamba生成的初始化脚本无法适应 Scoop 的特殊目录结构:
- 可执行文件位于
current
符号链接目录 - 持久化数据存储在独立位置
终极解决方案:手动配置
步骤 1:打开 PowerShell 配置文件
# 使用记事本打开powershell配置文件
notepad $PROFILE
步骤 2:替换为正确配置
用以下代码块替换自动生成的内容,要修改为你自己的Scoop路径:
#region mamba initialize
# !! 此区块内容由 'mamba shell init' 管理 !!
$Env:MAMBA_ROOT_PREFIX = "你的Scoop持久化目录\mambaforge"
$Env:MAMBA_EXE = "你的Scoop应用目录\mambaforge\current\Library\bin\mamba.exe"
(& $Env:MAMBA_EXE 'shell' 'hook' -s 'powershell' -r $Env:MAMBA_ROOT_PREFIX) | Out-String | Invoke-Expression
#endregion
步骤 3:查找你的实际路径
# 查找 Scoop 根目录
$ScoopRoot = scoop config root_path
# 查找全局目录
$ScoopGlobal = scoop config global_path
# 通常情况下mamba安装在ScoopRoot中,所以:
$Env:MAMBA_ROOT_PREFIX = "$ScoopRoot\persist\mambaforge"
$Env:MAMBA_EXE = "$ScoopRoot\app\mambaforge\current\Library\bin\mamba.exe"
步骤 4:验证配置
# 重新加载配置文件
. $PROFILE
# 测试环境创建与激活
mamba create -n test python=3.11 -y
mamba activate test
python --version # 应显示 Python 3.11.x
# 检查环境列表
mamba env list
配置详解
关键参数解析
参数 | 作用说明 | 示例路径 |
---|---|---|
MAMBA_ROOT_PREFIX | 环境存储位置(持久化目录) | D:\ScoopGlobalApps\persist\mambaforge |
MAMBA_EXE | mamba 可执行文件位置 | D:\ScoopApps\apps\mambaforge\current\Library\bin\mamba.exe |