Conda太慢?试试这个加速工具!

2020-07-06 17:58:39 浏览数 (3)

1 简介

Conda作为使用最为广泛的数据科学环境管理工具,可以协助我们很方便的完成创建管理环境、下载安装第三方库、软件包等操作,但其在下载资源的过程中下载速度时常令人捉急,即使使用连接速度更快的国内镜像,也摆脱不了其单线程挨个下载资源导致的低效问题。

  而Mamba(黑曼巴)专为加速Conda而生,其改写了Conda下载资源的固有方式,以多线程的方式对网络资源进行并行下载,从而大幅提升Conda效率:

  本文就将带大家学习如何使用Mamba来帮助我们更高效地使用Conda功能。

2 Mamba的使用

2.1 初识Mamba

首先我们需要安装Mamba,既然是用来加速Conda,那么我们可以直接使用下列命令来安装Mamba

代码语言:javascript复制
conda install -c conda-forge mamba

  安装完成之后,当你运行mamba -V查看其版本时会发现返回的是Conda的版本信息,这是因为Mamba的本质是对Conda功能的覆盖,因此我们在使用Mamba时其实只要将原有的Conda语句中的conda替换为mamba即可,譬如我们常用的conda clean --all,即清空本地缓存安装包:

  很有意思的是Mamba在执行命令时会先打印出logo等信息,对应其名称黑曼巴~

  当然Mamba并不是重写了Conda所有的功能,只是针对一些Conda低效的功能进行重写,并添加了一些实用的新功能,接下来我们来对这些知识进行学习。

2.2 Mamba中的实用功能

  • 加速下载

  作为Mamba最核心的功能,Mambaconda install语句进行并行化改造,达到加速下载过程的目的。

  以下载qgis为例,使用mamba install -c conda-forge qgis -y代替以前的安装方式,执行命令后,Mamba会在短暂获取资源下载链接之后,以并行的方式按计划同时下载多个资源,比老方法要快很多:

  对于其他涉及下载资源的命令譬如conda update同样适用,你可以自行体验。

  • 查看指定库当前环境下所有可用版本

  这是Mamba异于Conda的新功能,使用mamba repoquery search 库名可以查看指定库在当前环境版本下所有可用版本,以pandas为例:

  • 查看依赖关系

Mamba中还提供了mamba repoquery dependsmamba repoquery whoneeds,分别用于查看指定库依赖哪些库,以及指定库被哪些库依赖,如官方文档的示例:

1 人点赞