1 簡介
Conda
作為使用最為廣泛的數據科學環境管理工具,可以協助我們很方便的完成創建管理環境、下載安裝第三方庫、軟件包等操作,但其在下載資源的過程中下載速度時常令人捉急,即使使用連接速度更快的國內鏡像,也擺脫不了其單線程挨個下載資源導致的低效問題。
而Mamba
(黑曼巴)專為加速Conda
而生,其改寫了Conda
下載資源的固有方式,以多線程的方式對網絡資源進行並行下載,從而大幅提升Conda
效率:

本文就將帶大家學習如何使用Mamba
來幫助我們更高效地使用Conda
功能。
2 Mamba的使用
2.1 初識Mamba
首先我們需要安裝Mamba
,既然是用來加速Conda
,那么我們可以直接使用下列命令來安裝Mamba
:
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
最核心的功能,Mamba
對conda install
語句進行並行化改造,達到加速下載過程的目的。
以下載qgis
為例,使用mamba install -c conda-forge qgis -y
代替以前的安裝方式,執行命令后,Mamba
會在短暫獲取資源下載鏈接之后,以並行的方式按計划同時下載多個資源,比老方法要快很多:

對於其他涉及下載資源的命令譬如conda update
同樣適用,你可以自行體驗。
- 查看指定庫當前環境下所有可用版本
這是Mamba
異於Conda
的新功能,使用mamba repoquery search 庫名
可以查看指定庫在當前環境版本下所有可用版本,以pandas
為例:

- 查看依賴關系
Mamba
中還提供了mamba repoquery depends
和mamba repoquery whoneeds
,分別用於查看指定庫依賴哪些庫,以及指定庫被哪些庫依賴,如官方文檔的示例:

以上就是本文的全部內容,如有疑問歡迎在評論區與我討論~