[Python] Miniforge: 开源版conda环境管理器

0 序:背景

  • Conda、Miniconda和Anaconda是否免费且开源?

均部分或完全从属于 Anaconda Inc 公司,直接商用,均有风险。

  • conda 环境管理器,是否有开源版本?

Conda 是一个开源的包和环境管理系统,可以用于 Windows、macOS 和 Linux 上的任何编程语言的打包和分发,包括 Python、R、Ruby、Lua 等。
此外,还有两个与 Conda 紧密相关的开源项目,它们是 MiniforgeMamba

1 概述:Miniforge

  • 此存储库包含Conda forge特有的CondaMamba的最小安装程序,并预先配置了以下功能:
  • 基础环境中的包是从conda forge通道获得的。
  • conda forge通道被设置为默认(也是唯一)通道。

https://github.com/conda-forge/miniforge

2 安装

安装 on Windows

Step1 下载安装包

下载适用于 Windows 的安装包:Miniforge3-Windows-x86_64.exe

  • url

https://github.com/conda-forge/miniforge/releases
https://github.com/conda-forge/miniforge/releases/download/24.11.0-1/Miniforge3-24.11.0-1-Windows-x86_64.exe
https://github.com/conda-forge/miniforge/releases/download/26.5.3-0/Miniforge3-26.5.3-0-Windows-x86_64.exe (截止 2026-09-12 的最新版)
Miniforge3-24.11.2-1-Windows-x86_64.exe - github

Step2 运行安装程序

  • 双击下载的 .exe 文件启动安装程序。

  • 按照安装向导的指引进行安装,选择合适的安装目录。

D:\Program\Miniforge3

  • 在安装完成时勾选“Add Miniforge3 to PATH”选项。

Step3 配置环境变量

  • MINIFORGE_HOME
D:\Program\Miniforge3\

  • Path: 追加
%MINIFORGE_HOME%\condabin

Step4 第1次验证:启动 Miniforge,并验证、激活指定环境

  • 安装完成后,你可以打开 Anaconda Prompt 或使用 Windows CMD / Windows PowerShell,输入以下命令来测试安装是否成功:
C:\Users\XXX> conda --version
conda 24.11.0
  • 查看已经安装的频道
# 设置显示已经安装的频道
C:\Users\XXX> conda config --set show_channel_urls yes

# 查看已安装的频道
C:\Users\XXX> conda config --get channels
--add channels 'conda-forge'   # lowest priority
  • 查看环境列表
> conda env list
# conda environments:
#
base                   D:\Program\Miniforge3

> conda info --env
# conda environments:
#
base                   D:\Program\Miniforge3
  • 激活 base 的python环境
C:\Users\XXX> conda activate base

(base) C:\Users\XXX> python
Python 3.12.8 | packaged by conda-forge | (main, Dec  5 2024, 14:06:27) [MSC v.1942 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello")
hello
>>> quit();
Use quit() or Ctrl-Z plus Return to exit
(base) C:\Users\XXX>
  • 查看指定环境下用conda安装的软件
conda list -n base 
  • 如果你不希望每次启动终端时自动激活 base 环境,可以禁用这个行为。你可以通过运行以下命令来关闭自动激活
> conda config --set auto_activate_base false

> conda config --get auto_activate_base
--set auto_activate_base False

关闭自动激活后,你仍然可以手动激活 base 环境或任何其他虚拟环境,命令如下:

conda activate base

Step5 调整默认存储路径(C盘)到其他盘符 (重要)

调整默认安装目录 (防止后期占用C盘数十GB的存储空间)

例如笔者,电脑运行了三四年后,.conda\的存储空间已占用了 14.x GB

  • 步骤1
# 0. 查看修改前的 conda 配置 (重点看: user config file|populated config files / package cache / envs directories)
conda info

# 1. 设置新环境的默认安装目录
conda config --add envs_dirs E:\Program-Data\conda-data\envs

# 2. 设置包缓存目录
conda config --add pkgs_dirs E:\Program-Data\conda-data\pkgs

等效于:编辑 user config file: vim $env:USERPROFILE\.condarc 文件,移除旧的 C 盘路径(可选)、并配置 envs_dirs / pkgs_dirs为目标路径

例如: C:\Users\你的用户名\.condarc

channels:
  - conda-forge
mirrored_channels:
  conda-forge:
    - https://conda.anaconda.org/conda-forge
    - https://prefix.dev/conda-forge

envs_dirs:
  - E:\Program-Data\conda-data\envs
pkgs_dirs:
  - E:\Program-Data\conda-data\pkgs
  • 步骤2: 二次检查
:: 检查输出中的 envs directories 和 package cache 是否已经变更为 D 盘路径,或者确保其排到第1个
conda info

Step6 配置可用的镜像 channels (重要)

  • vim $env:USERPROFILE\.condarc 即: C:\Users\xxx.condarc` (conda's user config file,推荐)

C:\Users\xxx\.conda\envs\pytorch_env\.condarcD:\Program\Miniforge\.condarc

show_channel_urls: true
channels:
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - conda-forge
mirrored_channels:
  conda-forge:
    - https://conda.anaconda.org/conda-forge
    - https://prefix.dev/conda-forge
envs_dirs:
  - E:\Program-Data\conda-data\envs
pkgs_dirs:
  - E:\Program-Data\conda-data\pkgs

当然,也可把channels:conda-forgemirrored_channels 给删掉。

  • (可选步骤) 如果 Command 环境是 powershell 的话,需要激活其环境:
PS C:\Users\xxx> conda init powershell
no change     D:\Program\Miniforge\Scripts\conda.exe
no change     D:\Program\Miniforge\Scripts\conda-script.py
no change     D:\Program\Miniforge\condabin\conda.bat
no change     D:\Program\Miniforge\Library\bin\conda.bat
no change     D:\Program\Miniforge\condabin\_conda_activate.bat
no change     D:\Program\Miniforge\condabin\rename_tmp.bat
no change     D:\Program\Miniforge\condabin\conda_auto_activate.bat
no change     D:\Program\Miniforge\condabin\conda_hook.bat
no change     D:\Program\Miniforge\Scripts\activate.bat
no change     D:\Program\Miniforge\condabin\activate.bat
no change     D:\Program\Miniforge\condabin\deactivate.bat
modified      D:\Program\Miniforge\Scripts\activate
modified      D:\Program\Miniforge\Scripts\deactivate
modified      D:\Program\Miniforge\etc\profile.d\conda.sh
modified      D:\Program\Miniforge\etc\fish\conf.d\conda.fish
no change     D:\Program\Miniforge\shell\condabin\Conda.psm1
modified      D:\Program\Miniforge\shell\condabin\conda-hook.ps1
no change     D:\Program\Miniforge\Lib\site-packages\xontrib\conda.xsh
modified      D:\Program\Miniforge\etc\profile.d\conda.csh
modified      C:\Users\xxx\Documents\WindowsPowerShell\profile.ps1

==> For changes to take effect, close and re-open your current shell. <==

Step7 第2次验证:创建新的独立环境、下载依赖包(必读)

# 查看可用的 python 环境(至少会有1个 Miniforge 自带/默认的 base 环境)
conda env list
  注: 类比 uv => `uv python list`
conda activate base


# 查验当前Python解释器的版本
python --version

# 查验当前 Python 解释器的所在路径
python -c “import sys; print(sys.executable)”

# 查看当前 Python 对应 pip 的版本 + 所在路径
python -m pip --version
  注: 即 python --module pip --version 即 告诉 Python 解释器去搜索名为 pip 的模块,并把它当作一个脚本来运行。


# 创建新的环境指定环境中需要带的python的版本、并激活/切换到该环境 (对应的新环境路径,如: E:\Program-Data\conda-data\envs\python-3.12)
conda create -n python-3.12 python=3.12 
conda activate python-3.12

# 安装依赖包
conda install numpy

FAQ for 安装遇到的问题及解决办法

Q:出现 zsh: command not found: conda 错误

  • 原因分析

说明 conda 命令没有被正确地添加到你的 PATH 环境变量中,或者 Miniforge 的安装没有成功激活。

  • step1 确保 conda 已安装

如果你刚安装了 Miniforge,请确保安装过程没有错误。检查 Miniforge 是否正确安装:
打开终端,导航到 Miniforge 安装的目录(默认通常是 ~/.miniforge3 或者 ~/miniforge3安装根目录/condabin)。

在该目录下,检查是否有 conda 二进制文件:bin/conda

## Linux
cd ~/miniforge3/bin && ls

## Windows
dir D:\Program\Miniforge3\condabin

如果 conda 文件存在,说明 Miniforge 已安装,但未正确配置环境

  • step2 手动激活 conda 环境

如果安装了 Miniforge,可能是 conda 没有自动添加到 zsh 的启动配置文件里(如 .zshrc)。
你可以手动加载 Miniforge 的初始化脚本:

临时激活 conda

在终端执行以下命令来临时激活 conda:

# linux
source ~/miniforge3/bin/activate

之后尝试运行 conda --version

永久配置 conda 自动激活

如果上面的命令生效了,你可以把 Miniforge 的路径永久添加到你的 .zshrc 文件中:
打开 .zshrc 文件:

nano ~/.zshrc

在文件末尾添加以下内容,确保 conda 的初始化脚本被加载:

export PATH="~/miniforge3/bin:$PATH"

保存文件并退出(按 Ctrl + O 保存,Ctrl + X 退出)。
重新加载 .zshrc 文件,或者关闭并重新打开终端:

source ~/.zshrc
  • step3 确认 conda 已被正确安装

再次检查 condaconda -V(同conda --version)

  • step4 重新安装 Miniforge

如果问题依旧存在,可能安装过程中出现了问题,建议重新安装 Miniforge。
先删除之前的安装目录:

rm -rf ~/miniforge3

安装 on Linux

Step1 下载一键式安装脚本

  • 根据 CPU 指令集架构,下载对应的 Linux 安装脚本
INSTALL_LOCATION="/root/miniforge3"
mkdir -p $INSTALL_LOCATION
cd $INSTALL_LOCATION

wget https://github.com/conda-forge/miniforge/releases/download/25.3.1-0/Miniforge3-25.3.1-0-Linux-x86_64.sh
或 wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh

chmod +x Miniforge3-25.3.1-0-Linux-x86_64.sh

Step2 执行安装脚本

cd $INSTALL_LOCATION
./Miniforge3-25.3.1-0-Linux-x86_64.sh

安装脚本会有系列提示与交互操作:

...
>>> <Enter键>

Do you accept the license terms? [yes|no]
>>> yes

Miniforge3 will now be installed into this location:
/root/miniforge3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/miniforge3] >>> /ext/miniforge3

即:安装过程中,可自己指定安装位置: /ext/miniforge3

...

installation finished.
Do you wish to update your shell profile to automatically initialize conda?
This will activate conda on startup and change the command prompt when activated.
If you'd prefer that conda's base environment not be activated on startup,
   run the following command when conda is activated:

conda config --set auto_activate_base false

You can undo this by running `conda init --reverse $SHELL`? [yes|no] (您可以通过运行“conda init --reverse $SHELL”来撤消此操作吗?)
[no] >>> no

You have chosen to not have conda modify your shell scripts at all.
To activate conda's base environment in your current shell session:

eval "$(/ext/miniforge3/bin/conda shell.YOUR_SHELL_NAME hook)" 

To install conda's shell functions for easier access, first activate, then:

conda init

Thank you for installing Miniforge3!

Step3 配置环境变量

  • vim ~/.bashrc

追加环境变量的配置行:

export PATH=$PATH:/ext/miniforge3/bin
  • 使其生效
source ~/.bashrc

Step4 conda 初始化

为了避免后续创建虚拟环境后,出现报 conda 初始化 的错误:

...

[root@xxx ~]# conda create --name ai-env python=3.12

[root@xxx ~]# conda activate ai-env
CondaError: Run 'conda init' before 'conda activate'

需要做 conda 的初始化操作:

  • 执行conda初始化的命令:
[root@xxx ~]# conda init
no change     /ext/miniforge3/condabin/conda
no change     /ext/miniforge3/bin/conda
no change     /ext/miniforge3/bin/conda-env
no change     /ext/miniforge3/bin/activate
no change     /ext/miniforge3/bin/deactivate
no change     /ext/miniforge3/etc/profile.d/conda.sh
no change     /ext/miniforge3/etc/fish/conf.d/conda.fish
no change     /ext/miniforge3/shell/condabin/Conda.psm1
no change     /ext/miniforge3/shell/condabin/conda-hook.ps1
no change     /ext/miniforge3/lib/python3.12/site-packages/xontrib/conda.xsh
no change     /ext/miniforge3/etc/profile.d/conda.csh
modified      /root/.bashrc

==> For changes to take effect, close and re-open your current shell. <==

[root@xxx ~]# 
  • 根据提示,新开1个窗口,初次体验 conda
(base) [root@xxx ~]# python --version
Python 3.12.11
(base) [root@xxx ~]# conda activate ai-env
(ai-env) [root@xxx ~]# python --version
Python 3.12.11

即 新窗口即默认切换到了 base 的 python conda 虚拟环境

Step5 验证 Miniforge Conda

[root@xxx softwares]# conda env list
# conda environments:
#
base                   /ext/miniforge3

卸载 on Windows

Step1 找到 Miniforge3 的安装目录,并执行卸载程序

  • D:\Program_Files\Miniforge\Miniforge3\Uninstall-Miniforge3.exe

image

卸载完成后,D:\Program_Files\Miniforge\ 目录下的所有文件、目录均会被清空

Step2 删除残留的环境变量、残留目录

  • 清理残留的:环境变量、系统变量
:: 验证方法
echo $env:MINIFORGE_HOME
echo $env:PATH | Select-String "MINIFORGE"
echo $env:PATH | Select-String "CONDA"

image
image

  • 安装根目录(常见):
C:\Users\你的用户名\miniforge3
    注: 笔者自查:已不存在
C:\Users\你的用户名\mambaforge
    注: 笔者自查:已不存在
C:\Users\你的用户名\miniconda3
    注: 笔者自查:已不存在
C:\Users\你的用户名\anaconda3
    注: 笔者自查:已不存在
  • 系统级安装可能在 C:\ProgramData\Miniforge3 / Miniconda3 / Anaconda3

注: 笔者自查:已不存在

  • 用户配置/缓存:
C:\Users\你的用户名\.conda\
  注: 笔者自查:仍旧存在、已主动删除
C:\Users\你的用户名\.condarc
  注: 笔者自查:仍旧存在、已主动删除
C:\Users\你的用户名\.continuum
  注: 笔者自查:已不存在
C:\Users\你的用户名\.mambarc(用 mamba 才有)
  注: 笔者自查:已不存在
C:\Users\你的用户名\.jupyter、.ipython(可选)
  注: 笔者自查:仍旧存在、但不处理(因:不完全只有 miniforge/conda 在使用)
C:\Users\你的用户名\AppData\Local\conda
  注: 笔者自查:仍旧存在、已主动删除
C:\Users\你的用户名\AppData\Roaming\conda
  注: 笔者自查:已不存在
  • 开始菜单:

C:\Users\你的用户名\AppData\Roaming\Microsoft\Windows\Start Menu\ProgramsMiniforge/conda 文件夹。

注: 笔者自查:已不存在

StepX 验证删除是否干净

where conda
    where.exe conda
where mamba
where python
echo %PATH%

都找不到 conda/python,且新开 PowerShell 不显示 (base),基本就干净了。仍显示就回头查 PATH、profile、开始菜单快捷方式。

Z FAQ for conda

Q: conda 未在 powershell 命令环境做初始化,将导致 无法激活指定的 conda python 环境

  • 问题描述

conda 未在 powershell 命令环境做初始化,将导致 无法激活指定的 conda python 环境。 (20260908)

PS F:\Codes-Minor\Github\nanobot> conda activate python-3.13
PS F:\Codes-Minor\Github\nanobot> python --version
Python 3.8.5
  • 解决方法
  • 做一次conda在powershell的初始化
PS F:\Codes-Minor\Github\nanobot> conda init powershell
no change     D:\Program_Files\Miniforge\Miniforge3\Scripts\conda.exe
no change     D:\Program_Files\Miniforge\Miniforge3\Scripts\conda-env.exe
no change     D:\Program_Files\Miniforge\Miniforge3\Scripts\conda-script.py
no change     D:\Program_Files\Miniforge\Miniforge3\Scripts\conda-env-script.py
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\conda.bat
no change     D:\Program_Files\Miniforge\Miniforge3\Library\bin\conda.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\_conda_activate.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\rename_tmp.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\conda_auto_activate.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\conda_hook.bat
no change     D:\Program_Files\Miniforge\Miniforge3\Scripts\activate.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\activate.bat
no change     D:\Program_Files\Miniforge\Miniforge3\condabin\deactivate.bat
modified      D:\Program_Files\Miniforge\Miniforge3\Scripts\activate
modified      D:\Program_Files\Miniforge\Miniforge3\Scripts\deactivate
modified      D:\Program_Files\Miniforge\Miniforge3\etc\profile.d\conda.sh
modified      D:\Program_Files\Miniforge\Miniforge3\etc\fish\conf.d\conda.fish
no change     D:\Program_Files\Miniforge\Miniforge3\shell\condabin\Conda.psm1
modified      D:\Program_Files\Miniforge\Miniforge3\shell\condabin\conda-hook.ps1
no change     D:\Program_Files\Miniforge\Miniforge3\Lib\site-packages\xontrib\conda.xsh
modified      D:\Program_Files\Miniforge\Miniforge3\etc\profile.d\conda.csh
modified      C:\Users\Johnny\Documents\WindowsPowerShell\profile.ps1

==> For changes to take effect, close and re-open your current shell. <==
  • 新开powershell窗口
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

加载个人及系统配置文件用了 6737 毫秒。
(base) PS F:\Codes-Minor\Github> cd .\nanobot\
(base) PS F:\Codes-Minor\Github\nanobot> python --version
Python 3.12.8
(base) PS F:\Codes-Minor\Github\nanobot> conda activate python-3.13
(python-3.13) PS F:\Codes-Minor\Github\nanobot> python --version
Python 3.13.15
(python-3.13) PS F:\Codes-Minor\Github\nanobot> python -m pip --version
pip 26.2.1 from C:\Users\Johnny\.conda\envs\python-3.13\Lib\site-packages\pip (python 3.13)

Y 推荐文献

Conda、Miniconda和Anaconda是否免费且开源?均部分或完全从属于 Anaconda Inc 公司,直接商用,均有风险。
Conda 是一个开源的包和环境管理系统,可以用于 Windows、macOS 和 Linux 上的任何编程语言的打包和分发,包括 Python、R、Ruby、Lua 等。此外,还有两个与 Conda 紧密相关的开源项目,它们是 MiniforgeMamba

PyCharm支持的4种Python Interpreter

X 参考文献

posted @ 2024-12-29 14:58  千千寰宇  阅读(5105)  评论(0)    收藏  举报