使用 uv 替代 pip-tools 的核心做法是:用 uv pip compile 生成锁定文件,用 uv pip sync 同步环境。这能直接实现 pip-compile 和 pip-sync 的功能,且速度更快。

如何生成依赖锁定文件
使用 uv pip compile 命令来生成锁定文件。它读取你的项目依赖描述(如 requirements.in),解析所有传递依赖,并输出一个包含精确版本号的 requirements.txt。

uv pip compile requirements.in -o requirements.txt
运行上述命令后,uv 会解析 requirements.in 中的顶层依赖,解决所有冲突,并生成 requirements.txt。这个文件包含了所有依赖的精确哈希值(如果配置了)和版本号,确保构建的可复现性。
如何同步虚拟环境
使用 uv pip sync 命令来同步虚拟环境。它会读取锁定文件,并安装、升级或删除包,使当前环境的状态与锁定文件完全一致。

uv pip sync requirements.txt
执行该命令后,uv 会对比当前已安装的包与 requirements.txt 中的列表。如果某个包不在列表中,它会被卸载;如果版本不一致,它会被升级或降级。这个过程比 pip install -r requirements.txt 更严格,因为它会移除未声明的包,确保环境的纯净。
基于 uv pip compile 的具体输入条件问题
当 requirements.in 中存在多个版本的同一依赖时,uv pip compile 会根据解析算法选择最高兼容版本,并在输出文件中明确标注该版本。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











