Python UV 管理器:從安裝到使用
UV 是一款強大的 Python 包管理工具,能夠替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等工具,提供高效的 Python 版本管理、依賴管理及虛擬環境管理,這裡簡單描述以利日後查找。
1. UV 的特點
-
一體化工具鏈:安裝 UV 即可取代多個獨立工具,減少版本衝突與配置負擔。
-
極致性能:基於 Rust 開發,安裝與解析速度遠超傳統 pip。
-
一致性與可重複性:透過
uv.lock
文件,確保不同環境的依賴一致性。 -
輕量虛擬環境管理:內建 venv 功能,無需依賴外部工具。
-
完善的 Python 版本管理:類似 pyenv,但更適合項目隔離,不影響系統環境。
2. UV 的安裝
UV 提供多種安裝方式,適用於不同平台:
方式 1:使用官方安裝腳本
適用於 Linux 和 macOS:
curl -LsSf https://astral.sh/uv/install.sh | sh
適用於 Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
方式 2:使用 pip 安裝
如果已安裝 Python,則可使用 pip 安裝:
pip install uv
方式 3:其他安裝方式
UV 也支持 Homebrew、WinGet、Scoop、Docker 或 GitHub Releases 安裝。例如:
brew install uv
3. UV 的基本使用
安裝完成後,可以使用 UV 來管理 Python 項目:
初始化新項目
uv init myproject
cd myproject
UV 會自動建立 .gitignore
、.python-version
、pyproject.toml
等文件,並初始化 Git 倉庫。
添加package
uv add numpy
這將自動:
-
創建虛擬環境並安裝
numpy
-
將
numpy
添加至pyproject.toml
-
生成
uv.lock
文件,確保依賴一致性
運行 Python 腳本
uv run python script.py
或指定 Python 版本:
uv run --python 3.11 script.py
同步依賴
uv sync
這將確保所有依賴與 uv.lock
文件保持一致。