认识 conda 好几年了,比较熟悉命令、功能了,但是对细节,conda、miniconda、miniforge、conda-forge 这些很混乱。

今天正好看到了收藏夹里的视频,竟然看进去了,也看懂了,索性整理下。

一、混乱的介绍

  1. matlab 太昂贵,数学家、科学家会用 python 来做矩阵运算,
  2. 但是 python 太慢,使用 c 语言等跨语言的包的时候,pip 当时力不从心,经济不了
  3. anaconda 公司推出了一个大杂烩,默认包含了一堆数据计算的软件,并且还解决了依赖、多平台的问题,为不同的平台编译好了二进制文件
  4. 后来软件太火,公司索性也改名叫 anaconda,这个软件就是 anaconda distribution
  5. 总之公司的维护不少的软件包,后来为了更加的 open,
  6. 但是 open 的话,兼容性、依赖就无法保证,索性折中。索性把官方维护的软件包放到 default channel下,
  7. default channel 下又分为main、r、msys2,分别用来存 python、r、跨系统的软件包。
  8. 社区也有自己的 channel,发展成最大的就是 conda-forge,也托管在 anaconda 公司。
  9. 有人嫌弃默认的软件包,带了一大堆的包,几乎用不到,希望轻量一些,就有了 miniconda,里面只有 conda 命令运行的最小依赖,体积很小。
  10. 在前几年,anaconda 公司宣布对 200人以上的公司商业行为进行收费,收费的对象的 default channel 的软件包。
  11. 使用 conda-forge 的 channel 是不收费的,但是 每次都需要修改配置,或者安装、创建环境时带上 -c conda-forge 参数,太繁琐了。索性社区自己编译了 miniforge,默认指向了 conda-forge 软件仓库,对标 miniconda,也比较精简。

二、下载

miniforge 仓库

三、随想

在 2026 年的今天,conda 好像有些过时了,看到好多地方都在推崇 uv,改天也试试吧。

之前连如此简单的视频都看不进去,总结这么简单的小知识都觉得有巨大的阻力,执行力也变好一些,不错。