Conda:跨平台的二进制包管理器

文章目录

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 是绕不开的基础设施。它把环境管理和包管理合在一起,省去了大量折腾依赖的时间。

相关推荐
matrixmind82 小时前
HTTPX:Python 下一代 HTTP 客户端
python·其他·http·httpx
海绵宝宝的月光宝盒2 小时前
6-机械设计基础物理知识
经验分享·笔记·其他·职场和发展·课程设计·学习方法
codecrafter1232 小时前
sh:在 Python 里直接调系统命令
开发语言·python·其他
matrixmind13 小时前
aiomysql:异步场景下的 MySQL 驱动
android·数据库·mysql·其他
lg_cool_4 小时前
使用conda管理python运行环境并关联vscode
vscode·python·conda
javajenius5 小时前
Pixi:用 Rust 重写 Conda 体验的包管理工具
开发语言·其他·rust·conda
laowangpython5 小时前
tokio-rstracing:Rust 可观测性的标准答案
开发语言·后端·其他·rust
matlab_xiaowang5 小时前
WeasyPrint:把 HTML 变成 PDF 的文档工厂
前端·其他·pdf·html
nexustech6 小时前
simplejson:Python JSON 处理的备用引擎
开发语言·python·其他·json