uv命令安裝和使用
Github地址
https://github.com/astral-sh/uv/tree/main
文檔地址
https://docs.astral.sh/uv/#highlights
uv是一個用 Rust 編寫的極其快速的 Python 包和項目管理工具
- 環境查看
系統環境
# cat /etc/redhat-release
Rocky Linux release 9.3 (Blue Onyx)
# uname -a
Linux Rocky9Milvus003075 5.14.0-362.18.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 11 13:49:23 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
軟件環境
# uv --version
uv 0.8.3
- 安裝
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows使用管理員打開cmd終端
需要可以訪問外網
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
- 使用
項目
uv 管理項目依賴和環境,支持鎖定文件、工作區等,類似于rye或poetry
# 初始化項目
# uv init example
Initialized project `example` at `/root/example`
# cd example
# 安裝python代碼檢查工具
# uv add ruff
Using CPython 3.9.18 interpreter at: /usr/bin/python3.9
Creating virtual environment at: .venv
Resolved 2 packages in 3.73s
Prepared 1 package in 25.37s
Installed 1 package in 607ms
+ ruff==0.14.0
# 運行代碼檢查
# uv run ruff check
All checks passed!
# 生成或者更新鎖文件
# uv lock
Resolved 2 packages in 1ms
# 讓你的虛擬環境安裝的依賴和鎖文件記錄的版本完全一致,保證可復現性和一致性。
# uv sync
Resolved 2 packages in 2ms
Audited 1 package in 0.23ms
腳本
uv 管理單文件腳本的依賴關系和環境。
創建一個新的腳本并添加內聯元數據以聲明其依賴項:
#echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
# uv add --script example.py requests
Updated `example.py`
然后,在隔離的虛擬環境中運行腳本:
# uv run example.py
Installed 5 packages in 401ms
<Response [200]>
工具
uv 執行并安裝由 Python 包提供的命令行工具,類似于pipx。
在臨時環境中運行工具使用uvx(別名:uv tool run)
# uvx pycowsay 'hello world!'
Installed 1 package in 243ms
------------
< hello world! >
------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
安裝一個工具,使用uv tool install:
# uv tool install ruff
Resolved 1 package in 1.85s
Installed 1 package in 109ms
+ ruff==0.14.0
Installed 1 executable: ruff
Python版本
uv 安裝 Python 并允許快速切換版本。
安裝多個Python版本:
# uv python install 3.10 3.11 3.12
Installed 3 versions in 3m 27s
+ cpython-3.10.19-linux-x86_64-gnu (python3.10)
+ cpython-3.11.14-linux-x86_64-gnu (python3.11)
+ cpython-3.12.12-linux-x86_64-gnu (python3.12)
按需下載 Python 版本:
# uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
? A virtual environment already exists at `.venv`. Do you want to replace it? · yes
Activate with: source .venv/bin/activate
Windows激活輸入
.venv/bin/activate
在當前目錄中使用特定的Python版本:
# uv python pin 3.11

浙公網安備 33010602011771號