管理依赖包

1.conda和pip

两者都是管理python依赖包的包管理器,pip是python官方提供的。

conda(2012年)pip(2008年)。

两者的区别

因为python的语法相对简单,所以在科学和数学方面是主流语言。但是其性能不出众(比如计算速度慢等等),于是出现了用其他语言(C语言或者Fortran)写的数学库,通过封装实现python跨语言调用。由此既保证了简单的语法,还保证了计算速度。

pip在这种跨语言的依赖的支持方面(兼容性)做的十分糟糕,通常需要系统已经安装了这些依赖,或者通过wheel格式(预编译的二进制包)来提供。于是有了conda。

C语言是跨平台相关的,不同的操作系统对应不同的二进制版本。conda的软件仓库会为每一个支持的系统提前处理好编译的二进制版本等等,所以使用conda更方便。

2.Anaconda体系:

Anaconda:

常说的Anaconda实际是这家公司的发行版,完整名称为Anaconda Distribution。不仅包含了conda这个核心组件,还附带了常见(科学领域最流行)的软件包,对新手友好。

Miniconda:

只有最核心的conda和python,适合喜欢更精简或者自定义需求的使用者。

Anaconda.ORG:

一个软件库平台,官方的软件库也在这里面,在该平台上仓库被称为channel,官方的是defaults channel。因为维护和兼容性问题太多,工作量大,官方能力有限。 而这个平台实现了用户可以自己上传包,自己维护,自己负责兼容性问题,所以有一个开源社区在该平台上创建了conda-forge的channel,该channel兼容性和稳定性近年来大幅度提升,软件包数量多且更新快。

Miniforge:

conda默认的channel是defaults channel,现在该channel有商业收费问题。开源社区的人员通过修改默认channel创建了Miniforge,其默认channel为conda-forge。

Mamba:

加强版的conda。现代项目的依赖越来越复杂,通过C++对conda最慢的部分(比如依赖求解器)进行优化,并添加了多线程下载功能,由此诞生了Mamba。现在默认包含在Miniforge安装包里面。Mamba不仅是速度优化,还改进了依赖解析算法。它完全兼容conda的命令语法,可以直接替换使用,比如:

conda install numpy → mamba install numpy

conda update --all-> mamba update --all

相关推荐
吴佳浩24 分钟前
AI 工程师知识地图:模型格式、框架、部署工具一次讲明白
人工智能·aigc·ai编程
IT_陈寒44 分钟前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
码农胖大海1 小时前
AI额度不够用的解决方案
人工智能
后端小肥肠1 小时前
小红书虚拟商品怎么做?我先用 Skill 跑通了壁纸品类
人工智能·aigc·agent
feiyu_gao1 小时前
从零搭建个人 AI 工作台:一个管理者的 3 个月实验
人工智能·aigc·团队管理
程序员cxuan2 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
机器之心2 小时前
AI圈刚开始谈Loop Engineering,两位95后博士已经盯上了人类闭环数据
人工智能·openai
澄旭2 小时前
一文讲清 MCP:AI 应用连接外部世界的标准协议
人工智能
机器之心3 小时前
不只DeepSeek,阶跃等开源JetSpec:大模型解码提速近10倍
人工智能·openai