跳轉到

建立 2025-02-14 更新 2026-09-12

Python套件安裝工具

在 Python 的套件管理中,pipcondapipenv 是三個常見的工具,它們的主要功能都是安裝和管理套件,但各自有不同的特色和適用場景。

Note

初學只需知道怎麼使用這些工具安裝套件即可,譬如: 怎麼執行 pip install package_name 安裝套件,其他的比較慢慢地就會懂了,可以暫時不要深究。

uv

  • 用法:uv add package_nameuv pip install package_name
  • 特點:
    • 目前最推薦的新工具,速度通常比 pip 快很多。
    • 可以同時管理套件、虛擬環境與 Python 版本。
    • 專案用 pyproject.toml + uv.lock 鎖定依賴,也相容 requirements.txt
    • 虛擬環境:uv add / uv run 會自動建立並使用 .venv
    • 適合場景:新專案、想少裝幾個工具時。

pip

  • 用法:pip install package_name
  • 特點:
    • 最標準、最常見的 Python 套件管理工具,直接從 Python Package Index (PyPI) 下載並安裝套件。
    • 是 Python 自帶的工具,適用於所有標準的 Python 環境。
    • 依賴處理:pip 會自動安裝某個套件的依賴,但不會自動處理套件之間的衝突。
    • 虛擬環境:需要搭配 venvvirtualenv 來管理虛擬環境。
    • 適合場景:適用於需要快速安裝 Python 套件的小型專案。

Note

依賴處理指的是,當A套件的執行需要使用到B跟C套件時,套件管理工具如何去處理這樣的依賴關係;即安裝A時,是否會幫忙安裝B跟C;如果依賴的套件,不全然是Python的套件,套件管理工具怎麼處理?以及潛在的版本問題,套件管理工具怎麼處理?

conda

  • 用法:conda install package_name
  • 特點:
    • 是 Anaconda 和 Miniconda 的一部分,不只適用於 Python,也能管理其他語言和環境。
    • 不只從 PyPI,也從 conda 自己的套件庫下載套件。套件的下載範圍更廣,並且支持科學計算所需的 C 庫和其他依賴包。
    • 依賴處理:conda 能夠有效處理複雜的依賴關係,並自動解決依賴衝突。
    • 虛擬環境:內建環境管理功能,可以輕鬆建立和管理虛擬環境(conda create -n env_name)。
    • 適合場景:適用於科學計算和需要管理大量依賴的專案。

pipenv

  • 用法:pipenv install package_name
  • 特點:
    • pipvirtualenv 功能結合,方便建立和管理虛擬環境。
    • 提供了 PipfilePipfile.lock 來跟蹤安裝的套件及其版本,確保在不同系統上有相同的套件環境。
    • 依賴處理:比 pip 更優化的依賴處理,並提供了 Pipfile.lock 來鎖定依賴版本,確保可重複性。
    • 虛擬環境:自動建立虛擬環境,不需要手動操作。
    • 適合場景:適用於中型專案或需要確保環境一致性的專案。

比較

特點 uv pip conda pipenv
套件來源 PyPI PyPI conda, PyPI PyPI
虛擬環境支持 自動(.venv 手動 (venv, virtualenv) 內建 自動
依賴管理 uv.lock,速度快 基本處理 自動處理衝突 改進的依賴處理
使用場景 新專案首選 一般 Python 開發 科學計算、大型專案 中型專案、需要環境一致性

新專案建議優先用 uv。若專案依賴較少、只想用內建工具,pip 仍然最常見。資料分析或科學計算可選 conda。已經在用 Pipfile 的專案則繼續用 pipenv