文章目錄
- **主要功能**
- 1. **快速安裝和管理 Python 包**
- 2. **生成和管理鎖文件 (`requirements.lock`)**
- 3. **創建虛擬環境**
- 4. **與 `poetry` 兼容**
- **核心優勢**
- 1. **極快的速度**:基于 Rust 實現,利用多線程和緩存大幅加速依賴解析。
- 2. **輕量且獨立**:無需預裝 Python 環境,直接作為靜態二進制文件運行。
- 3. **全局緩存**:減少重復下載,所有項目共享全局包緩存。
- 4. **無縫兼容**:
- **常見命令示例**
- **安裝方法**
- **適用場景**
- - 需要快速初始化 Python 環境(如 CI/CD 流程)。
- - 項目管理需要兼容傳統 `pip` 和現代工具鏈。
- - 依賴解析速度成為瓶頸時(特別是大型項目)。
- **注意事項**
uv
是一個由 Astral 團隊(Ruff 和 Black 的開發者)推出的高性能 Python 包管理工具,旨在替代 pip
、pip-tools
和 virtualenv
等傳統工具。它強調極速(比 pip
快 10-100 倍)、支持全局依賴緩存,并兼容 pip
和 pip-tools
的工作流。
主要功能
1. 快速安裝和管理 Python 包
uv pip install requests # 單包安裝
uv pip install -r requirements.txt # 批量安裝
2. 生成和管理鎖文件 (requirements.lock
)
uv pip compile requirements.in -o requirements.lock # 生成鎖文件
uv pip sync requirements.lock # 根據鎖文件同步環境
3. 創建虛擬環境
uv venv .venv # 創建虛擬環境到 .venv 目錄
source .venv/bin/activate # 激活虛擬環境
4. 與 poetry
兼容
支持 pyproject.toml
的依賴解析:
uv pip install -e . # 以可編輯模式安裝當前項目的依賴
核心優勢
1. 極快的速度:基于 Rust 實現,利用多線程和緩存大幅加速依賴解析。
2. 輕量且獨立:無需預裝 Python 環境,直接作為靜態二進制文件運行。
3. 全局緩存:減少重復下載,所有項目共享全局包緩存。
4. 無縫兼容:
- 支持傳統
requirements.txt
和pip
命令。 - 可配合
poetry
、pdm
等現代工具工作。 - 生成與
pip-compile
兼容的鎖文件。
常見命令示例
操作 | 命令 |
---|---|
安裝包 | uv pip install numpy |
生成鎖文件 | uv pip compile pyproject.toml -o requirements.lock |
同步依賴 | uv pip sync requirements.lock |
創建虛擬環境 | uv venv .venv |
顯示幫助 | uv --help 或 uv pip --help |
安裝方法
# Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh# Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
適用場景
- 需要快速初始化 Python 環境(如 CI/CD 流程)。
- 項目管理需要兼容傳統 pip
和現代工具鏈。
- 依賴解析速度成為瓶頸時(特別是大型項目)。
注意事項
- ??
uv
仍處于早期開發階段(截至 2024 年),部分高級功能可能受限。 - 建議開發者關注其兼容性和穩定性的持續提升。
官方文檔:Astral UV
?? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ?????????
?? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ??????????? ???????????