(資料科學學習手札160)使用miniforge代替miniconda

费弗里發表於2024-04-25

本文已收錄至我的Github倉庫https://github.com/CNFeffery/DataScienceStudyNotes

1 簡介

  大家好我是費老師,conda作為Python資料科學領域的常用軟體,是對Python環境及相關依賴進行管理的經典工具,通常整合在anacondaminiconda等產品中供使用者日常使用。

(資料科學學習手札160)使用miniforge代替miniconda

  但長久以來,conda在很多場景下執行緩慢卡頓、庫解析速度過慢等問題也一直被使用者所詬病,且由於anacondaminiconda本身屬於商業性質的軟體產品,導致很多公司在未獲得商業許可的前提下,內部使用anacondaminiconda下載安裝非開源許可渠道的軟體庫資源,被anaconda檢測出企業IP地址,進而收到相關的律師函警告,引發了一系列的商業風險。

  在這樣的大背景下,由開源軟體社群驅動的conda-forge組織發展迅速,提供了可免費使用無商業風險穩定高效的一系列開源工具及網路資源服務,今天我要給大家介紹的miniforge,就由conda-forge組織開發維護,可作為anacondaminiconda的替代品。

(資料科學學習手札160)使用miniforge代替miniconda

2 miniforge的安裝及使用

2.1 下載安裝miniforge

  miniforge官方安裝包下載頁(https://conda-forge.org/miniforge/)中的安裝包資源託管在Github上:

(資料科學學習手札160)使用miniforge代替miniconda

  國內的朋友可以透過清華大學映象站對miniforge安裝包資源進行加速下載(https://mirrors.tuna.tsinghua.edu.cn/github-release/conda-forge/miniforge/),選擇與自己系統相符合的版本進行下載即可,以windows為例,下載當前最新版本對應的Miniforge3-24.3.0-0-Windows-x86_64.exe

(資料科學學習手札160)使用miniforge代替miniconda

  下載完成後,雙擊開啟進行安裝(安裝前建議清空電腦上先前殘留的其他Python環境):

(資料科學學習手札160)使用miniforge代替miniconda

  點選I Agree

(資料科學學習手札160)使用miniforge代替miniconda

  下一步:

(資料科學學習手札160)使用miniforge代替miniconda

  選擇或自定義安裝路徑:

(資料科學學習手札160)使用miniforge代替miniconda

  根據推薦提示,悉數進行勾選:

(資料科學學習手札160)使用miniforge代替miniconda

  等待安裝完成即可:

(資料科學學習手札160)使用miniforge代替miniconda

2.2 配置環境變數

  針對windows系統,由於新版本的miniforge在安裝時不再提供自動建立相關環境變數的選項,因此需要我們手動將相關路徑新增到系統PATH中,譬如,我的miniforge自定義安裝在本機的C:\miniforge中,就至少需要新增C:\miniforgeC:\miniforge\ScriptsC:\miniforge\Library\bin這幾個路徑:

(資料科學學習手札160)使用miniforge代替miniconda

  上述過程完成後,可以在本機終端中執行mamba -V檢視相關版本資訊(miniforge中包含了最小化的condamamba),檢驗上述配置是否完成:

(資料科學學習手札160)使用miniforge代替miniconda

2.3 miniforge常用功能

  上文提到過,miniforge中同時內建了包管理工具condamamba,其中mamba完全作為conda功能的替代,且執行效率優於conda,我們只需要將平時熟悉的conda命令中的conda替換為mamba即可,譬如:

  • 檢視已有虛擬環境
(資料科學學習手札160)使用miniforge代替miniconda
  • 啟用指定虛擬環境

  注:如果初次執行activate命令失敗,按照提示資訊執行mamba init命令,再重新開啟終端即可。

(資料科學學習手札160)使用miniforge代替miniconda
  • 建立新的虛擬環境

  注:miniforge預設將conda-forge作為下載源。

(資料科學學習手札160)使用miniforge代替miniconda

  如果嫌預設的conda-forge網速太慢,可以像conda那樣透過-c引數自定義映象源,如下面的例子中使用到南方科技大學的main源,速度就快了許多:

mamba create -n data-science python=3.9 -c https://mirrors.sustech.edu.cn/anaconda/pkgs/main/ -y
(資料科學學習手札160)使用miniforge代替miniconda
  • 安裝指定庫

  這裡我們以依賴包眾多的GIS分析庫geopandas為例,mamba在短時間內完成初始化解析後,非常流暢地以並行的方式迅速完成了各依賴庫的下載及安裝過程(同樣的操作,conda大機率會一直卡頓下去直至失敗。。。):

(資料科學學習手札160)使用miniforge代替miniconda
(資料科學學習手札160)使用miniforge代替miniconda
  • 移除指定虛擬環境
(資料科學學習手札160)使用miniforge代替miniconda
  • 清空本地快取
(資料科學學習手札160)使用miniforge代替miniconda

  更多用法請移步mamba官方文件:https://mamba.readthedocs.io/


  以上就是本文的全部內容,歡迎在評論區與我們進行討論~

相關文章