UV入门指南:更快的Python包管理工具实践

什么是 UV?

UV 是一款由 Rust 编写的现代化 Python 包管理工具,凭借其惊人的性能和直观的用户体验迅速崭露头角。作为传统 pip 的强力替代品,UV 不仅提供了极速的依赖解析能力,还带来了更智能的包管理体验和全方位的项目环境控制。
还有他是学习 python 构建 mcp 的基础。

UV 的核心优势 ✨

  • 极速安装:相比传统工具,依赖解析和包安装速度提升 10-100 倍
  • 一站式解决方案:一个工具替代 pip、pip-tools、pipx、poetry、pyenv、virtualenv 等多种工具
  • 智能依赖管理:自动处理复杂依赖关系,有效避免版本冲突
  • 虚拟环境集成:无缝创建和管理项目虚拟环境
  • 通用锁文件支持:通过 uv.lock 确保环境一致性
  • 全面的 Python 版本管理:轻松安装和切换不同 Python 版本
  • 空间高效:全局缓存机制实现依赖项去重,节省磁盘空间
  • 跨平台支持:完美支持 macOS、Linux 和 Windows

安装指南 💻

Windows 系统

1
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

MacOS 和 Linux 系统

1
curl -LsSf https://astral.sh/uv/install.sh | sh

安装成功后,您将看到类似以下的输出:

1
2
3
4
5
6
7
8
9
10
11
PS D:\python\learn\uv_learn> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Downloading uv 0.6.16 (x86_64-pc-windows-msvc)
Installing to C:\Users\chenw\.local\bin
uv.exe
uvx.exe
everything's installed!

To add C:\Users\chenw\.local\bin to your PATH, either restart your shell or run:

set Path=C:\Users\chenw\.local\bin;%Path% (cmd)
$env:Path = "C:\Users\chenw\.local\bin;$env:Path" (powershell)

💡 提示:按照提示将 UV 添加到系统环境变量,然后重启终端或电脑使其生效。

UV 实战指南:从零开始一个项目 🛠️

Python 版本管理

查看可用的 Python 版本

1
uv python list

这个命令会列出所有支持的 Python 版本以及您本地已安装的版本。

查找特定版本的 Python

1
uv python find 3.13

安装新的 Python 版本

1
uv python install 3.13

项目初始化

1
uv init [项目名称]

项目名称可选,不指定时将使用当前文件夹名称

初始化后,UV 会自动创建项目配置文件,并识别系统中的 Python 版本:

项目初始化示例

包管理操作

添加依赖包

1
uv add pandas

执行此命令后,UV 会自动:

  • 创建虚拟环境(. Venv)
  • 更新锁文件(uv. Lock)
  • 修改项目配置(pyproject. Toml)

⚠️ 注意:在 Trae/vscode 编辑器中使用时,建议先关闭 pyproject. Toml 文件再安装第三方库,避免潜在冲突。

包安装示例

查看依赖关系树

1
uv tree

输出示例:

1
2
3
4
5
6
7
8
9
10
PS D:\python\learn\uv_learn> uv tree
Resolved 7 packages in 0.84ms
uv-learn v0.1.0
├── numpy v2.2.5
└── pandas v2.2.3
├── numpy v2.2.5
├── python-dateutil v2.9.0.post0
│ └── six v1.17.0
├── pytz v2025.2
└── tzdata v2025.2

移除依赖包

1
uv remove pandas

此命令会自动更新所有相关文件,包括虚拟环境、锁文件和项目配置。

依赖文件

1
uv pip install -r requirements.txt

快速创建依赖文件,无需单独安装其他库

同步项目环境

1
uv sync

根据 pyproject. Toml、. Python-version 等配置文件更新虚拟环境,确保环境与配置一致。

脚本运行与工具集成 🧰

内联依赖的脚本运行

UV 支持在单文件脚本中声明依赖并运行:

1
2
3
4
5
6
7
8
# 创建一个简单的脚本并添加依赖
echo 'import requests; print(requests.get("https://astral.sh"))' > example.py

# 为脚本添加依赖
uv add --script example.py requests

# 在隔离环境中运行脚本
uv run example.py

代码质量工具集成

UV 提供了与常用开发工具的无缝集成:

代码格式检查(Flake 8)

1
2
uv tool install flake8
uvx flake8 # 或使用 uv tool run flake8

代码质量检查(Ruff)

1
2
uv tool install ruff
uv tool run ruff check

💡 小贴士:虽然现代 IDE 已经集成了类似功能,但 UV 的工具集成在 CI/CD 流程或团队协作中仍然非常有价值。

查询已安装的工具

1
uv tool list

项目打包与发布 📦

在 pyproject. Toml 中添加脚本入口点:

1
2
[project.scripts]
simpleai = "main:main"

其中 simpleai = "main:main",等号前是脚本名称,后面分别是脚本和函数名。

打包项目

1
uv build

这将项目打包为 whl 和 tar. Gz 文件,whl 文件可发布为第三方库。

打包结果

将本地 whl 作为工具安装

1
uv tool install dist\uv_learn-0.1.1-py3-none-any.whl

安装后可直接使用 simpleai 命令:

工具安装后使用

总结与展望 🔮

UV 作为新一代 Python 包管理工具,通过其惊人的性能和友好的用户体验,为 Python 开发者带来了革命性的开发体验。无论是个人项目还是团队协作,UV 都能显著提升开发效率和环境一致性。

而且 uv 和 uvx 也是 python 构建 mcp 的基础。为构建自己的 mcp sever 打下基础。

推荐阅读

BY

如有帮助,请收藏点赞
微信公众号:环境猫 er
CSDN : 细节处有神明
个人博客:https://maoyu92.github.io/

Ping 192.168.30.21
Ping 192.168.30.22


UV入门指南:更快的Python包管理工具实践
https://maoyu92.github.io/2025/04/25/03 工具推荐/UV入门指南:更快的Python包管理工具/
作者
陈文茂
发布于
2025年4月25日
许可协议