管理依赖包

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

相关推荐
yunhuibin24 分钟前
NIN网络学习
人工智能·python·深度学习·神经网络·学习
王解37 分钟前
第八篇:内外兼修 —— 配置系统与日志监控
人工智能·ai agent·nanobot
zhangshuang-peta41 分钟前
人工智能代理的上下文管理突破与长期任务执行
人工智能·ai agent·mcp·peta
隔壁大炮1 小时前
03.深度学习——特点
人工智能·深度学习
两万五千个小时1 小时前
构建mini Claude Code:02 - 把 Bash 拆成专用工具(read_file, write_file 等)
人工智能·python
~央千澈~1 小时前
06实战处理AI音乐技术详解第一阶段:频谱破坏·卓伊凡
人工智能
Hcoco_me1 小时前
车载摄像头核心知识点结构化总结
人工智能·深度学习·数码相机·算法·机器学习·自动驾驶
逻辑君2 小时前
根与星辰【第2章】
人工智能·程序人生
施法老农2 小时前
openclaw和opencode组合使用
人工智能
2501_926978332 小时前
提高认知的位置---存在、认知、程序的逻辑位置
人工智能·经验分享