# 🚀 uv: Python 開發的次世代工具鏈 > `uv` 是由 `ruff` 的開發團隊 Astral 所打造的一款極速 Python 套件管理工具。它以 Rust 編寫,旨在提供比傳統 `pip` 和 `venv` 更快、更流暢、更整合的開發體驗。 [uv](https://github.com/astral-sh/uv) ## 🌟 核心亮點 - **⚡ 極致速度**:比 `pip` 快 **10-100 倍**,利用全域快取,安裝套件幾乎在瞬間完成。 - **📦 一體化工具**:單一執行檔整合了虛擬環境管理、套件安裝、依賴解析等功能,告別 `pip` + `virtualenv` + `pip-tools` 的繁瑣組合。 - **🤝 `pip` API 相容**:指令設計與 `pip` 高度相容,讓你可以無痛遷移,立即上手。 - **🦀 Rust 驅動**:底層由 Rust 強力驅動,確保了頂級的效能和系統資源效率。 ## 🛠️ 安裝 你可以透過 `pip` 或官方安裝腳本來安裝 `uv`: ```bash # 推薦:透過 pipx 或 pip 安裝 pip install uv # 或者,使用官方的 curl 腳本 curl -LsSf https://astral.sh/uv/install.sh | sh ``` ## ⚡ 快速上手 `uv` 的設計旨在簡化工作流程。以下是幾個常用指令,讓你感受其魅力。 ### 1. 虛擬環境管理 `uv` 內建了超高速的虛擬環境工具。 ```bash # 建立一個名為 .venv 的虛擬環境 (比 `python -m venv` 快得多) uv venv # 你也可以指定 Python 版本 uv venv --python 3.11 ``` 建立後,像往常一樣啟用它: ```bash # Linux / macOS source .venv/bin/activate # Windows (cmd.exe) .venv\Scripts\activate.bat ``` ### 2. 套件安裝與同步 `uv` 的套件安裝指令與 `pip` 完全相容,但速度更快。 ```bash # 從 PyPI 安裝套件 uv pip install requests pandas # 從 requirements.txt 安裝 uv pip install -r requirements.txt # ✨ 推薦:使用 sync 指令 # 這會確保虛擬環境與 requirements.txt 的內容完全一致,不多也不少 uv pip sync requirements.txt ``` ### 3. 依賴鎖定 `uv` 可以方便地生成 `requirements.txt` 檔案。 ```bash # 將目前環境中的套件列表匯出到 requirements.txt uv pip freeze > requirements.txt ``` ## 🆚 `uv` vs. `pip` + `venv` 指令對照 | 任務 | 傳統指令 (`pip` + `venv`) | `uv` 指令 | 備註 | | :--- | :--- | :--- | :--- | | **建立環境** | `python -m venv .venv` | `uv venv` | `uv` 速度快非常多 | | **安裝套件** | `pip install <pkg>` | `uv pip install <pkg>` | `uv` 速度快非常多 | | **同步環境** | `pip install -r req.txt` | `uv pip sync req.txt` | `sync` 會移除多餘套件 | | **鎖定依賴** | `pip freeze > req.txt` | `uv pip freeze > req.txt` | 用法相同 | ## 結語 `uv` 透過其驚人的速度和整合的工具鏈,為 Python 開發者提供了一個現代化、高效的選擇。如果你想擺脫緩慢的安裝速度和繁瑣的工具切換,`uv` 絕對值得一試!