介绍
用Rust
编写的一个极其快速的Python
包和项目管理器。
比pip
快10-100倍。
安装和管理 Python
版本。
运行和安装 Python
应用程序。
通过 curl
或 pip
,无需 Rust
或 Python
即可安装。
支持 macOS
、Linux
和 Windows
。
安装
使用独立安装
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh# windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# 如果通过独立安装程序安装,uv 可以更新到最新版本:
uv self update
从 Pypi
安装
# pip
pip install uv# pipx
pipx install uv
项目管理
uv
管理项目依赖和环境,支持锁文件、工作区等, 类似于 rye
或 poetry
:
$ uv init example
Initialized project `example` at `C:\Users\Administrator\example`$ cd example$ uv add ruff
Using CPython 3.12.8
Creating virtual environment at: .venv
Resolved 2 packages in 3.87s
Prepared 1 package in 4.20s
Installed 1 package in 476ms+ ruff==0.9.1$ uv run ruff check
All checks passed!
工具管理
uv
执行并安装由 Python
软件包提供的命令行工具,类似于 pipx
。
$ uvx pycowsay 'hello world!'
Installed 1 package in 35ms--------------
< 'hello world!' >--------------\ ^__^\ (oo)\_______(__)\ )\/\||----w ||| ||
安装一个工具 uv tool install
$ uv tool install ruff
Resolved 1 package in 1.32s
Installed 1 package in 14ms+ ruff==0.9.1
Installed 1 executable: ruff.exe$ ruff --version
ruff 0.9.1
Python管理
uv
安装 Python
,并允许快速切换版本。
安装多个 Python
版本
$ uv python install 3.10 3.11 3.12
Installed 3 versions in 27.83s+ cpython-3.10.16-windows-x86_64-none+ cpython-3.11.11-windows-x86_64-none+ cpython-3.12.8-windows-x86_64-none
根据需要下载 Python 版本
$ uv venv --python 3.12.0
Using CPython 3.12.0
Creating virtual environment at: .venv
Activate with: .venv\Scripts\activate$ uv run --python pypy@3.8 -- python
Python 3.8.16 (a9dbdca6fc3286b0addd2240f11d97d8e8de187a, Dec 29 2022, 11:45:54)
[PyPy 7.3.11 with MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>>
在当前目录中使用特定的Python版本
$ uv python pin 3.11
Pinned `.python-version` to `3.11`
脚本支持
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
Reading inline script metadata from `example.py`
Installed 5 packages in 20ms
卸载
如果您需要从系统中移除uv
,请按照以下步骤操作:
清理存储数据
$ uv cache clean# windows 删除安装的内容 删除命令列出目录
$ uv python dir && uv tool dir
C:\Users\Administrator\AppData\Roaming\uv\python
C:\Users\Administrator\AppData\Roaming\uv\tools# macOS / Linux 删除安装的内容
$ rm -r "$(uv python dir)"
$ rm -r "$(uv tool dir)"
删除uv和uvx二进制文件
# macOS / Linux
$ rm ~/.local/bin/uv ~/.local/bin/uvx# Windows
$ rm %UserProfile%\.local\bin\uv.exe
$ rm %UserProfile%\.local\bin\uvx.exe
https://docs.astral.sh/uv/