链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

uv-超快速的Python包和项目管理器(用Rust编写)

uv是一个用Rust编写的Python包和项目管理器,它具有众多卓越功能。它可替代多种工具,速度比pip快10 - 100倍,能管理Python版本、运行和安装Python应用程序、支持单文件脚本运行、提供全面项目管理、有pip兼容接口、支持特定工作空间、磁盘空间利用高效且可多系...

访问官网 →

项目标题:uv-超快速的Python包和项目管理器(用Rust编写)

项目简介

uv是一个用Rust编写的Python包和项目管理器。它具有众多功能,可以替代如pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv等工具。它的速度比pip快10-100倍,能够安装和管理Python版本,运行和安装Python应用程序,支持运行单文件脚本(带有内联依赖元数据支持),提供全面的项目管理(包括通用锁文件),拥有与pip兼容的接口以提升性能(有熟悉的CLI),支持Cargo-style工作空间以用于可扩展项目,磁盘空间利用高效(有全局缓存用于依赖去重),并且可通过curl或pip在无Rust或Python的情况下安装,支持macOS、Linux和Windows系统。

项目核心技术

uv的依赖解析器底层使用PubGrub,其Git实现基于Cargo,并且它的一些优化受到了pnpm、Orogene和Bun等项目的启发,还从Nathaniel J. Smith的Posy中学习并改编了其针对Windows支持的跳板技术。

项目实践案例

  1. 项目管理方面:例如通过“uv init example”初始化项目,“uv add ruff”添加依赖等一系列操作来管理项目依赖和环境。
  2. 工具管理方面:可以使用“uvx pycowsay ‘helloworld!’”在临时环境中运行工具,或者使用“uv tool install ruff”安装工具。
  3. Python管理方面:像“uv python install 3.10 3.11 3.12”安装多个Python版本,“uv venv –python 3.12.0”根据需求下载Python版本创建虚拟环境等操作。
  4. 脚本支持方面:对于单文件脚本,如创建一个脚本“example.py”,通过“uv add –script example.py requests”添加依赖后,可使用“uv run example.py”运行脚本。
  5. pip兼容接口方面:能使用“uv pip compile docs/requirements.in –universal –output-filedocs/requirements.txt”编译需求到平台无关的需求文件,“uv venv”创建虚拟环境,“uv pip sync docs/requirements.txt”安装锁定的需求等操作。

项目总结

uv是一个功能强大、性能高效的Python包和项目管理器。它在项目管理、工具管理、Python版本管理、脚本支持以及与pip的兼容接口等多方面表现出色。如果你对这个项目有任何疑问或者想法,欢迎在评论区留言,大家一起参与讨论。

项目地址

GitHub链接直达