uv命令安装和使用

Github地址
https://github.com/astral-sh/uv/tree/main
文档地址
https://docs.astral.sh/uv/#highlights
uv是一个用 Rust 编写的极其快速的 Python 包和项目管理工具

  1. 环境查看
    系统环境
# 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
  1. 安装
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 使用

项目

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

在当前目录中使用特定的Python版本:

# uv python pin 3.11
posted @ 2025-10-11 14:34  minseo  阅读(22)  评论(0)    收藏  举报