企业可商用的conda:「Miniforge」+「conda-forge」

Source

🍃 作者介绍:25届双非本科网络工程专业,阿里云专家博主,专注于 AI 原理、AI 应用开发、AI 产品设计。大学期间具备扎实的 Java 后端基础,现任 AI 工程师。
🦅 个人主页:@逐梦苍穹
🌻 Gitee 地址:xzl 的人工智能代码仓库
✈ 您的一键三连,是我持续创作的最大动力 🌹

在这里插入图片描述
先说结论(适用于企业/商用环境)

  • Anaconda(defaults 源)不能免费商用:在公司/商业场景下使用 Anaconda 的默认源通常需要付费许可。
  • Miniconda + conda-forge 能用,但要彻底移除 defaults,并避免在 base 开发:否则仍可能触发 Anaconda 许可风险。
  • 最稳妥方案:Miniforge + conda-forge:安装即默认使用 conda-forge,规避 defaults,合规且轻量。

简单理解:不是“conda 这款工具”收费,而是“使用 Anaconda/Defaults 源的二进制分发”涉及商业许可;改用 conda-forge 社区源即可规避许可问题。


一、彻底卸载现有 Anaconda/Miniconda

目标:清掉默认源、配置与 shell 残留,避免后续“误连 defaults”。

  1. 查看 conda 安装路径(含各环境)
conda info --base
  1. 删除用户侧配置与缓存
rm -rf ~/.condarc ~/.conda ~/.continuum
  1. 清理 shell 初始化残留

~/.bashrc~/.bash_profile~/.zshrc 中搜索并删除与 conda initanaconda 相关的初始化片段,保存后重新加载:

source ~/.zshrc   # 或 source ~/.bashrc
  1. Windows 清理(如之前安装过 Anaconda/Miniconda)
  • 通过“应用和功能”卸载 Anaconda/Miniconda。
  • 删除用户目录:C:\\Users\\<你的用户名>\\.condaC:\\Users\\<你的用户名>\\.continuumC:\\Users\\<你的用户名>\\.condarc(若存在)。
  • 检查“环境变量”中与 Anaconda/Miniconda 相关的 Path 条目并移除。

二、安装 Miniforge(推荐)

Miniforge 默认只使用 conda-forge,装好即合规、可商用。

  • 发布页(选择你的平台与架构):
    https://github.com/conda-forge/miniforge/releases

无法访问的同学可以一键三连后私信,我发离线安装包给你 🌹

macOS/Linux检查

conda list --show-channel-urls | grep -v "^#" | awk '{print $4}' | sort | uniq -c

在这里插入图片描述

Windows检查

conda list --show-channel-urls | Where-Object {
    
      $_ -notmatch '^#'} | ForEach-Object {
    
      ($_ -split '\s+')[3]} | Sort-Object | Group-Object | Select-Object Count,Name

在这里插入图片描述
到这里,「Miniforge」+「conda-forge」的安装就已经完成了!因为「Miniforge」默认的就是「conda-forge」源


三、将通道固定为 conda-forge(严格优先)

如果你此前用过 Miniconda,请务必执行本小节以彻底规避 defaults。

# 移除 defaults(如不存在会提示,无妨)
conda config --remove channels defaults || true

# 仅使用 conda-forge,并设置严格优先级
conda config --add channels conda-forge
conda config --set channel_priority strict

# 查看当前配置
conda config --show | sed -n '/channels:/,/^$/p'

建议:不要在 base 环境中开发,创建独立环境更干净:

conda create -n ai python=3.11 -y
conda activate ai

四、验证是否仍引用 Anaconda 源

下面的命令会统计当前环境中每个包来自哪个 channel,方便确认是否“纯 conda-forge”。

macOS/Linux:

conda list --show-channel-urls | grep -v "^#" | awk '{print $4}' | sort | uniq -c

Windows:

conda list --show-channel-urls | Where-Object {
    
      $_ -notmatch '^#'} | ForEach-Object {
    
      ($_ -split '\s+')[3]} | Sort-Object | Group-Object | Select-Object Count,Name

若输出仅包含 conda-forge,说明你的环境是合规的;若还出现 defaults/anaconda,请返回第三节重新清理并创建新环境。


五、常见问题(FAQ)

  • Q:Miniconda + conda-forge 能不能商用?
    A:可以,但务必移除 defaults,并新建环境后再安装依赖。历史 base 或旧环境中若残留来自 defaults 的包,仍可能存在许可风险。更稳妥的做法是直接使用 Miniforge

  • Q:为什么不在 base 环境开发?
    A:base 常被用于初始化与管理,历史上最容易“混入” defaults 包。独立环境可保证依赖与渠道的可控性与可复现性。

  • Q:国内下载慢怎么办?
    A:可配置 conda-forge 的国内镜像(如清华镜像站),并保持 channel_priority strict,避免回落到 defaults。

  • Q:已有项目如何迁移?
    A:导出依赖、切换通道、重建环境:

    conda env export --from-history > env.yml
    # 按第三节配置通道为 conda-forge 后
    conda env create -n ai-new -f env.yml
    conda activate ai-new
    

六、参考命令清单(便捷复用)

# 卸载相关(macOS/Linux)
conda info --base
rm -rf ~/.condarc ~/.conda ~/.continuum

# Miniforge 安装(示例)
curl -LO https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh
bash Miniforge3-MacOSX-arm64.sh -b -p $HOME/miniforge3
source "$HOME/miniforge3/bin/activate" && conda init zsh && exec $SHELL

# 仅使用 conda-forge(严格优先)
conda config --remove channels defaults || true
conda config --add channels conda-forge
conda config --set channel_priority strict

# 创建与使用环境
conda create -n ai python=3.11 -y
conda activate ai

需要完整安装包,可在评论区或私信交流。也欢迎一键三连支持创作!