文章目录
Conda:跨平台的二进制包管理器
conda 在 GitHub 上获得了 7,434 个 Star。
做过 Python 开发的人都遇到过这个问题:pip 只处理 Python 包,遇到 C 库或系统级依赖就无能为力。conda 的解法是跳出语言边界,做成一个真正的跨平台二进制包管理器。
解决什么问题
conda 不挑语言。不管包是用 Python、C 还是 Fortran 写的,只要打成 conda 包格式,都能统一安装和管理。这对于科学计算领域尤其重要。NumPy、SciPy、PyTorch 这些库底层依赖大量 C/C++ 代码,用 pip 装经常出问题,用 conda 就是一行命令的事。
环境隔离是另一个核心能力。conda 把环境当作一等公民,每个环境是一个独立的安装目录,创建时默认用硬链接,既快又省空间。

安装和更新
最小化安装推荐用 Miniconda 或 Miniforge。Anaconda Distribution 则会一次性装好数百个常用包。
更新 conda 很简单:
conda update --name base conda
如果当前版本太老,需要分阶段更新。例如从 4.12 到 23.10,需要先安装 22.11.1 再更新。
日常使用
查看已安装包:conda list
搜索可用包:conda search
安装包:conda install <package-name>
创建隔离环境才是 conda 的强项:
conda create --name ml-project pytorch
conda activate ml-project
激活后,新环境的 bin 目录出现在 PATH 最前面,所有后续操作都在这个环境里。用完 conda deactivate 切回 base。

构建和分发
conda 不只是用来装包。你可以写 recipe,用 conda-build 打出 conda 包,上传到 anaconda.org。社区里的 conda-forge 和 Bioconda 就是基于这套机制运转的,维护着数万个包。
社区生态
Miniforge 提供了最精简的入门方式,conda-forge 是最大的社区维护频道。官方文档、Zulip 和 GitHub Issues 都是活跃的求助渠道。对于做数据科学和机器学习的人来说,conda 是绕不开的基础设施。它把环境管理和包管理合在一起,省去了大量折腾依赖的时间。
习的人来说,conda 是绕不开的基础设施。它把环境管理和包管理合在一起,省去了大量折腾依赖的时间。