工具

uv:给 Python 小工具一个干净的起点

从安装依赖到运行脚本,uv 把 Python 项目里分散的环境管理工作收进了一套命令。对于原型和一次性小工具,它能让开始这件事更轻一些。

GitHubPython开发工具

写一个 Python 小工具,真正要处理的逻辑可能只有几十行,环境准备却常常占去不少时间:选择 Python 版本,创建虚拟环境,安装依赖,再确认脚本运行在哪个环境里。

uv 是 Astral 开发的 Python 包和项目管理工具,用 Rust 编写。它把这些原本分散的工作收进了一个入口,同时支持 macOS、Linux 和 Windows。

从一个小项目开始

项目 README 给出的工作流包含初始化、添加依赖、运行命令以及管理锁文件。下面是一个围绕这些能力整理的简单例子,需要先按官方文档安装 uv:

uv init small-tool
cd small-tool
uv add requests
uv run python -c "import requests; print(requests.__version__)"

依赖写进项目配置后,可以通过锁文件和同步命令管理环境。这样,小工具从个人电脑搬到另一台机器时,就有了一份明确的依赖记录。

单文件脚本也有自己的环境

uv 也支持为单个脚本声明依赖,并在隔离的环境中运行。对临时数据处理、批量文件操作或一个很小的接口实验来说,不一定要先搭出完整的项目目录。

另一个入口是 uvx,它是 uv tool run 的别名,可以在临时环境中运行 Python 包提供的命令行工具。偶尔用一次的工具,不必都装进同一个长期使用的环境。

选择工具时看工作流

uv 的价值可以从一个具体问题来判断:它能否减少项目开始和复现时的重复操作?如果经常写短脚本、切换 Python 版本,或希望依赖记录更清晰,这些能力就值得试一试。

这里整理的是官方说明中的功能和命令,并未给出本站的性能测试结果。实际项目可以先从一个小脚本开始,再决定是否迁移已有工作流。

来源