【最新Python包管理工具UV的介绍和安装】

介绍

uv是一个非常快的 Python 包安装程序和 pip 解析器,用 Rust 编写,设计为pip-tools的直接替代品。

以下是官网给出的UV与其他包管理工具解决依赖(左)和安装包(右)的对比图。

可以看出UV是一个极快的 Python 包解析器和安装程序。

uv的核心产品原则:

  1. 专注于性能。 在上述基准测试中,uv 比没有缓存的 pip 和 pip-tools 快 8-10 倍,在使用热缓存运行时(例如,重新创建虚拟环境或更新依赖项)快 80-115 倍。UV 使用全局模块缓存来避免重新下载和重新构建依赖项,并在支持的文件系统上利用 Copy-on-Write 和硬链接来最大限度地减少磁盘空间使用。
  2. 优化易用。 虽然uv对 Python 打包的未来有着远大的抱负,但 uv 的初始版本集中在支持 uv pip 接口后面的 pip 和 pip-tools API,使其可以被现有项目使用,无需配置。同样,uv 可以用作"仅"解析器(uv pip compile 以锁定依赖项)、"仅"虚拟环境创建器 (uv venv)、"仅"包安装程序 (uv pip sync) 等。它既是统一的,也是模块化的。
  3. 简化的工具链。 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
相关推荐
寻星探路1 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024063 小时前
Bootstrap 警告框
开发语言
2601_949146533 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
曹牧3 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
KYGALYX4 小时前
服务异步通信
开发语言·后端·微服务·ruby
zmzb01034 小时前
C++课后习题训练记录Day98
开发语言·c++
ValhallaCoder4 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎4 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
YUJIANYUE5 小时前
PHP纹路验证码
开发语言·php
仟濹5 小时前
【Java基础】多态 | 打卡day2
java·开发语言