---
# System prepended metadata

title: Python uv 使用詳解
tags: [uv, Python]

---

# 🚀 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` 絕對值得一試！