管理依赖包

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

相关推荐
IT_陈寒4 分钟前
当Java的hashCode遇上Lombok,我的缓存被全清了
前端·人工智能·后端
刘胡子大叔12 分钟前
评测驱动优化:失败样本回流 Prompt 的闭环
人工智能·prompt
这个DBA有点耶14 分钟前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
涛思数据(TDengine)19 分钟前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
yz_aiks27 分钟前
WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)
人工智能·html5·ai编程·小游戏·workbuddy
byte轻骑兵44 分钟前
【LMP】规范精讲[12]: 链路层的花名册——一张表数完88条指令的门道
人工智能·蓝牙协议·lmp·蓝牙链路管理·通信学习
萤箜1 小时前
Chroma、Pinecone、Milvus 选型对比:不同发展阶段该选哪款向量数据库
人工智能
jimmyleeee1 小时前
Agent安全之九:OWASP ASI09 人机信任利用------当人类成为攻击链上最后一道被攻破的关口
人工智能·安全
Gu_WenYun1 小时前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融
song150265372981 小时前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测