跳轉到

以開源 Miniforge 替代 Anaconda

Anaconda商用要收費了怎麼辦?我們可以改用Miniforge!

隨著企業規模擴大到超過200人,許多公司在使用 Anaconda 或 Miniconda 建構內部開發環境時,就必須面對商業授權的問題。雖然這兩款工具本身提供免費版本,但在大量使用或重度存取官方資源的情況下,就必須購買 Commercial、Team 或 Enterprise 授權。

Note

參考: Is conda Free?

因此,採用完全開源且社群主導的 Miniforge 成為一個更安全且靈活的替代方案。Miniforge 不僅保留了 Anaconda/Miniconda 的核心功能(例如 conda 套件管理、環境建立與管理),同時避免了商用授權的不確定性與未來收費規範收緊的潛在風險。

Note

個人、學術用途及小型企業皆可繼續免費使用 Anaconda

Miniforge 簡介

Miniforge 為一款完全開源的 Conda 發行版,其主要特點包括:

  • 開源授權:全數採用開源模式,企業無需擔心因商業使用而觸發授權問題。
  • 核心工具一致:Miniforge 所內建的 conda 與 Anaconda/Miniconda 完全相同,因此在套件安裝、升級、移除與虛擬環境管理方面均無縫相容。
  • 社群主導:所有套件皆透過 GitHub 進行管理與托管,可以使用 conda-forge 作為下載頻道(必須要手動指定channel),能有效避開官方 repository 帶來的商業風險。
  • 輕量且靈活:除了基本功能外,Miniforge 還支援 mamba(快速的套件安裝工具)、PyPy 等其他執行環境,提供更多彈性與效率。

Miniforge 安裝與使用教學

Miniforge 提供對應各種作業系統的安裝檔案,不論你使用 Windows、macOS 或 Linux,都能依據作業系統下載適合的版本。

下載安裝檔

  1. 前往 Miniforge 的 GitHub 發行頁面:Miniforge Releases
  2. 根據你所使用的作業系統選擇對應的安裝檔:
  3. Windows:通常為 .exe 檔案。
  4. macOS 與 Linux:多為 .sh 腳本檔案,依系統架構(如 x86_64、arm64)選擇合適版本。

下載完成後,直接雙擊執行安裝程式(或在終端機中執行腳本檔案)。依照圖形化介面的指示完成安裝: - 閱讀並同意授權條款。 - 選擇安裝路徑,預設或依需求自訂安裝位置。 - 按下「安裝」後,等待安裝程序完成。

使用 Miniforge

安裝完成後,依照你的作業系統開啟對應的終端機或命令提示字元:

  • Windows 用戶可在開始選單中找到「Miniforge Prompt」。
  • macOS 與 Linux 用戶則可直接在終端機中使用 conda 指令。

根據前文介紹,miniforge 預設整合了 conda 與 mamba 兩款套件管理工具。其中,mamba 不僅能夠完整取代 conda 的功能,其執行速度也更為迅捷。使用時,只需要將平常使用的 conda 指令中的「conda」改成 mamba,即可實現同樣的操作接下來,可依照以下步驟使用 Miniforge 管理環境與安裝套件:

  • 建立虛擬環境:

mamba create -n myenv python=3.11

  • 啟動虛擬環境:

mamba activate myenv

  • 安裝所需套件:

mamba install numpy pandas matplotlib

  • 退出虛擬環境:

mamba deactivate

  • 查看已有的虛擬環境

mamba env list

  • 更新 Conda 與所有已安裝套件:

mamba update conda mamba update --all

這些操作均與 Anaconda/Miniconda 完全一致,讓原有的工作流程無縫轉移至 Miniforge 平台,確保既有開發環境的穩定與便利。 此外,Miniforge 也支援 mamba。實際上,mamba 是 conda 的高效替代品,兩者在語法上完全相容,你可以將所有 conda 指令直接替換成 mamba 指令。mamba 採用 C++ 編寫,並利用 libsolv 進行依賴解析,因此在解決依賴關係與安裝套件的速度上,比 conda 快了許多。對於需要頻繁安裝或更新大量套件的開發流程,mamba 能夠大幅提升效率,讓開發環境的維護更加順暢。

補充說明

當你使用指令

mamba create -n myenv python=3.11

時,mamba 會依據預設設定的 channel 來下載安裝套件,而預設就包含了 repo.anaconda.com 這個由 Anaconda.com 提供的商用 channel,因此會跳出警告訊息:

warning libmamba 'repo.anaconda.com', a commercial channel hosted by Anaconda.com, is used.

若公司環境對商業授權有要求,為了避免不必要的法律風險或授權爭議,建議改用社群廣泛使用的 conda-forge channel。你可以採用以下指令:

mamba create -n myenv python=3.11 --override-channels -c conda-forge

這個指令的作用說明如下:

  • --override-channels:此參數告訴 mamba 忽略預設的所有 channels,只採用後續指定的 channel。
  • -c conda-forge:指定使用 conda-forge 這個 channel 來下載並安裝所有套件。

這樣就能完全避開 Anaconda 預設的商用 channel,符合公司對商業授權的需求。