當前位置: 妍妍網 > 碼農

是時候跟Conda說再見了

2024-04-26碼農

添加微訊號 " CNFeffery "

備註 " 數據分析 " 入技術交流群

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

1 簡介

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

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

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

2 miniforge的安裝及使用

2.1 下載安裝miniforge

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

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

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

點選 I Agree

下一步:

選擇或自訂安裝路徑:

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

等待安裝完成即可:

2.2 配置環境變量

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

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

2.3 miniforge常用功能

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

  • 「檢視已有虛擬環境」

  • 「啟用指定虛擬環境」

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

  • 「建立新的虛擬環境」

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

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

    mamba create -n data-science python=3.9 -c https://mirrors.sustech.edu.cn/anaconda/pkgs/main/ -y

  • 「安裝指定庫」

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

  • 「移除指定虛擬環境」

  • 「清空本地緩存」

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

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

    加入知識星球 【我們談論數據科學】

    700+ 小夥伴一起學習!

    · 推薦閱讀 ·