uv 的锁文件就像项目依赖关系的完整快照,它能确保项目在差别机器上的运行环境保持一致。
这个锁文件最大的优势是跨平台。不管你在哪个系统上天生锁文件,它都能在别的平台上正常工作。uv 为每个平台界说了一个独特的办理方案,天生一个可读且可审计的锁文件,精确地界说了将安装哪些软件包。
比方:如果你在 macOS 上运行 uv lock,uv 仍然会为 Linux 和 Windows 天生解析方案,即使每个平台上所需的依赖集稍有差别。
而且它做得非常快。在没有任何缓存的环境下,uv 可以在大约半秒钟内解析 Jupyter 项目的依赖项(在缓存预热的环境下约为 20 毫秒)。
解析 Jupyter 项目时无缓存(上)和有缓存(下)的对比。
项目 API 的核心是 uv run 命令,它能在项目专属环境中运行命令,而且不必要手动激活虚拟环境。
uv run 非常快速。每次执行时,它都会自动重新锁定和同步项目,确保你的环境始终是最新状态。完全不必要手动干预。
换句话说,uv run 能确保你的命令每次都在一个一致的、受锁文件管理的环境中运行。
使用 uv run 命令启动 FastAPI 应用的示例。
有了 uv run,你再也不必要操心虚拟环境的激活、依赖包的管理大概项目的维护更新。一切都变得无比简单。
想了解更多详情,请查阅项目文档。