介绍
uv是一个非常快的 Python 包安装程序和 pip 解析器,用 Rust 编写,设计为pip-tools的直接替代品。
以下是官网给出的UV与其他包管理工具解决依赖(左)和安装包(右)的对比图。
可以看出UV是一个极快的 Python 包解析器和安装程序。
uv的核心产品原则:
- 专注于性能。 在上述基准测试中,uv 比没有缓存的 pip 和 pip-tools 快 8-10 倍,在使用热缓存运行时(例如,重新创建虚拟环境或更新依赖项)快 80-115 倍。UV 使用全局模块缓存来避免重新下载和重新构建依赖项,并在支持的文件系统上利用 Copy-on-Write 和硬链接来最大限度地减少磁盘空间使用。
- 优化易用。 虽然uv对 Python 打包的未来有着远大的抱负,但 uv 的初始版本集中在支持 uv pip 接口后面的 pip 和 pip-tools API,使其可以被现有项目使用,无需配置。同样,uv 可以用作"仅"解析器(uv pip compile 以锁定依赖项)、"仅"虚拟环境创建器 (uv venv)、"仅"包安装程序 (uv pip sync) 等。它既是统一的,也是模块化的。
- 简化的工具链。 uv作为单个静态二进制文件提供,能够替换pip、pip-tools和virtualenv。uv 没有直接的 Python 依赖项,因此您可以将其与 Python 本身分开安装,从而无需管理pip跨多个 Python 版本(例如,pipvs. pip3vs. pip3.7)的安装。
安装
uv支持Linux、Windows和macOS,并且已经针对公共 PyPI 索引进行了大规模测试。
curl
bash
curl -LsSf https://astral.sh/uv/install.sh | sh
win
bash
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
pip
bash
pip install uv
pipx
bash
pipx install uv