一、什么是 UV
uv 是一个用 Rust 语言编写的 Python 包和环境管理器 ,由 Astral 公司(就是开发了 Python 代码检查工具 ruff 的团队)推出。它的目标是用一个工具替代掉 Python 生态里一大堆零散的工具,并且速度极快。
🛠️ 它能做什么
1. 创建虚拟环境
bash
uv venv myenv
比 python -m venv 快很多。
2. 安装包
bash
uv pip install numpy pandas
直接兼容 pip 的用法,但速度极快。
3. 管理项目依赖
bash
uv init myproject # 初始化项目
uv add requests # 添加依赖
uv sync # 按锁文件同步环境
这部分相当于替代了 poetry,会生成 pyproject.toml 和 uv.lock 锁文件,保证团队里每个人环境一致。
4. 运行一次性工具
bash
uvx cowsay "Hello"
不安装到全局,临时下载并运行,相当于 pipx 的替代。
5. 管理 Python 版本
bash
uv python install 3.12
uv python list
可以自动下载和切换多个 Python 版本,相当于替代了 pyenv。
uv = pip + venv + pip-tools + pipx + pyenv + poetry 的合体,用 Rust 重写后速度快了一个数量级。对你来说,它既能替代 Anaconda 创建虚拟环境的功能,又完全免费合规。
二、UV的安装
2.1 Windows11下的命令的安装及删除
step1 打开PowerShell
在开始菜单搜索 PowerShell,右键点击并选择 "以管理员身份运行"。
step2 安装uv
在打开的 PowerShell 窗口中,复制并粘贴以下命令,然后按回车键执行
bash
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
脚本执行完毕后,请关闭并重新打开一个新的终端窗口,以使环境变量 生效。
step3 测试uv
安装完成后,都可以在新打开的 终端中运行以下命令来验证 uv 是否安装成功:
uv --version
如果不想通过命令的这种安装方式安装,因为这样会默认在系统盘中,导致系统盘内存越来越大,可以使用以下的方法进行删除:
1)打开 PowerShell,输入以下命令查看 uv 的位置:
bash
Get-Command uv
如果路径是 C:\Users\你的用户名\.local\bin\uv.exe → 说明是用官方脚本安装的。
2)第二步:清理 uv 存储的数据(建议执行)
bash
uv cache clean
Remove-Item -Recurse -Force "$(uv python dir)"
Remove-Item -Recurse -Force "$(uv tool dir)"
3)删除程序本体
bash
Remove-Item $HOME\.local\bin\uv.exe
Remove-Item $HOME\.local\bin\uvx.exe
Remove-Item $HOME\.local\bin\uvw.exe
2.2 使用官方的工具包安装
从 uv 发布页面获得了 uv.exe、uvx.exe 和 uvw.exe,也可以直接解压使用。
下载网址:Releases · astral-sh/uv · GitHub
我下载的版本是:0.13.0

1)右击整合包中的的压缩文件 uv-x86_64-pc-windows-msvc.zip ,选择"全部解压缩",输入目标路径 D:\soft\uv ,点击"提取"。
2)按 Win + R 键,输入 SystemPropertiesAdvanced ,敲回车,将打开"高级系统设置"。

3)在弹出的"系统属性"窗口中,点击"环境变量"。

4)在"......的用户变量(U)"中找到 Path 变量,点击"编辑"。

5)击"新建",输入 D:\soft\uv ,选中、点击"上移"将其移至列表顶部(确保优先使用),然后点击"确定"。

6)配置国内源 ,方法如下:
-
在"......的用户变量(U)"下,点击"新建"
-
变量名填:
UV_DEFAULT_INDEX -
变量值填:
https://pypi.tuna.tsinghua.edu.cn/simple/ -
点击"确定"

如果使用命令增加镜像源的话,可以直接执行以下的命令:
请直接复制下方所有代码,在 PowerShell 终端中一次性粘贴并回车运行:
bash
# 1. 创建配置目录(如果不存在)
New-Item -Path "$env:APPDATA\uv" -ItemType Directory -Force
# 2. 写入配置内容到 uv.toml (使用清华源)
$content = @"
[[index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
"@
Set-Content -Path "$env:APPDATA\uv\uv.toml" -Value $content
运行完成后,您的 uv 全局下载配置即已更新为清华源。
7)依次点击"环境变量"和"系统属性"窗口的"确定"保存设置。

8)创建收据文件(用于未来更新),方法如下:
-
按
Win + R键,输入%LOCALAPPDATA%,按回车,会打开当前用户的本地应用程序数据文件夹 -
新建一个文件夹命名为
uv

-
进入新建的
uv文件夹 -
创建一个文本文件,名为
uv-receipt.json,注意将.txt改为.json -
输入以下内容,保存并关闭文件
切记如果你的目录和我常见的不一样,一定要将下面的文件的内容更改为自己exe所在的文件夹中
bash
{"binaries":["uv.exe","uvx.exe","uvw.exe"],"binary_aliases":{},"cdylibs":[],"cstaticlibs":[],"install_layout":"flat","install_prefix":"D:\\UVProgram","modify_path":true,"provider":{"source":"cargo-dist","version":"0.32.0"},"source":{"app_name":"uv","name":"uv","owner":"astral-sh","release_type":"github"},"version":"0.13.0"}
9)验证是否成功
关闭所有已经打开的终端(PowerShell 和 CMD),右键点击桌面,选择"在终端中打开",输入 uv --version 如果输出了类似 uv 0.8.15 (8473ecba1 2025-09-03) 这样的内容,则说明安装成功。
10)只要能够正常显示版本号,就说明 uv 已经可以使用。还可以检查 Windows 实际调用的是哪个文件
bash
where.exe uv

三、UV在windows下创建环境及使用方法
1)首先创建一个工程,里面先创建一个测试脚本文件
demo.py 创建的目录为:E:\code\project1
bash
import cv2
import sys
import numpy as np
def main():
print("-" * 30)
print(f"Python 版本: {sys.version.split()[0]}")
print(f"OpenCV 版本: {cv2.__version__}")
# 测试 NumPy (OpenCV 通常会自动安装它)
try:
# 创建一个 100x100 的黑色图像
img = np.zeros((100, 100, 3), dtype=np.uint8)
print("✅ NumPy 配合正常,虚拟图像创建成功。")
except Exception as e:
print(f"❌ 出错: {e}")
print("-" * 30)
if __name__ == "__main__":
main()
2)在E:\code\project1下右击,打开Powershell,创建虚拟环境
使用该条命名创建虚拟环境的优势在于,可以直接将pip安装,这样在当前环境下安装包的时候可以直接使用命令pip install 的命令
bash
uv venv my_python310 --python 3.10 --seed

我的是windows11的环境,不知道哪里有问题,使用powershell激活环境不生效,只能使用cmd 进行激活
3)激活环境并安装依赖,执行脚本
在创建了工程的位置直接输入cmd然后使用cmd进行环境的激活

激活的命令为:
bash
my_python310\Scripts\activate.bat

前面出现创建的环境的名字表示环境激活成功。在该环境下就可以执行脚本,缺少什么依赖,直接使用pip 安装即可,例如安装opencv和yolo的测试环境:
bash
pip install opencv-python
pip install ultralytics

退出环境的方法为:
bash
deactivate
参考博文:
指定环境包依赖项不会出现在系统盘的方法: