Python uv 套件管理器完全教學:比 pip 快 100 倍的新選擇
Python 的套件管理一直讓人頭痛。pip、pip-tools、virtualenv、pyenv、poetry、conda……每個各管一塊,裝了一堆還是會遇到環境衝突。2024 年底,Astral(做 Ruff linter 的公司)推出了 uv——一個用 Rust 寫的 Python 套件管理器,目標是「一個工具取代所有工具」。
uv 不是又一個「稍微好一點」的替代品。安裝套件速度比 pip 快 10 到 100 倍,而且把 Python 版本管理、虛擬環境、套件安裝、dependency lock 全部整合在一個 binary 裡。
uv 是什麼?為什麼它這麼快?
uv 由 Astral 團隊開發,用 Rust 從頭寫起。原生編譯的 Rust 程式在處理檔案 I/O、網路請求、依賴解析時比 Python 快幾個數量級。以 100+ 依賴的專案,pip 要 2-3 分鐘,uv 可能 2-3 秒。
它整合的功能:套件安裝(取代 pip)、虛擬環境(取代 virtualenv)、Python 版本管理(取代 pyenv)、專案依賴管理與 lock file(取代 poetry)、一次性工具執行(取代 pipx)。
安裝 uv
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
uv --version # 0.10.11用 uv 初始化專案
uv init my-project
cd my-project自動建立 pyproject.toml(標準格式,不是特殊格式)、.python-version、hello.py。
管理依賴套件:add、remove、lock
uv add requests # 加入套件
uv add 'django>=5.0' # 特定版本
uv add --dev pytest ruff # 開發用依賴
uv add -r requirements.txt # 從 requirements.txt 匯入
uv remove requests # 移除
uv sync # 同步環境每次 uv add 自動更新 pyproject.toml、生成 uv.lock、安裝套件。lock file 確保團隊和 CI/CD 安裝完全相同的版本。
虛擬環境:uv 自動管理,也可手動 uv venv 或 uv venv --python 3.12。建立速度幾乎瞬間。更多虛擬環境概念參考Python 虛擬環境指南。
用 uv 管理 Python 版本
uv python install 3.12 # 安裝
uv python install 3.11 3.13 # 多版本
uv python list # 列出
uv python pin 3.12 # 釘選Python 安裝在 ~/.local/share/uv/python/,不干擾系統 Python。
uv run:執行腳本和工具
uv run python main.py # 在正確虛擬環境執行
uv run pytest # 執行套件 CLI
uvx ruff check . # 一次性執行(類似 npx)uvx 不用安裝就能執行,在 CI/CD 環境特別有用。
從 pip/poetry 遷移到 uv
從 pip:uv init . && uv add -r requirements.txt
從 poetry:uv 可直接讀取 pyproject.toml 中 poetry 格式的依賴,執行 uv sync 即可。
更多 Python 工具推薦APScheduler 排程教學和Excel 自動化教學。
uv vs pip vs poetry vs conda 比較
| 面向 | uv | pip | poetry | conda |
|---|---|---|---|---|
| 語言 | Rust | Python | Python | Python/C |
| 安裝速度 | 極快 | 慢 | 中等 | 慢 |
| Lock file | uv.lock | 無 | poetry.lock | 無 |
| Python 版本管理 | 內建 | 無 | 無 | 內建 |
| 虛擬環境 | 內建 | 需 venv | 內建 | 內建 |
建議:一般開發用 uv 取代 pip+virtualenv+pyenv。資料科學可能 conda 還是比較穩。已有 poetry 的大型專案不急著遷,但新專案直接用 uv。
結語:Python 套件管理的未來
uv 出來之後,Python 套件管理終於看到「大一統」的可能性。一個工具搞定所有事情,快到飛起——Python 社群等了十幾年的東西。截至 2026 年 3 月,uv 已經相當成熟穩定,production 環境完全沒問題。如果你還在用 pip + virtualenv 的古老組合,強烈建議試試 uv。那種秒速完成 uv sync 的感覺,真的讓你對 pip install 的等待再也無法忍受。
繼續閱讀
Python AI Agent 開發入門:用 LangChain 打造你的第一個自動化智能助手
相關文章
你可能也喜歡
探索其他領域的精選好文