【最新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
相关推荐
源力祁老师20 小时前
深入分析 json2(新)与标准的 jsonrpc的区别
开发语言
小wanga20 小时前
C++知识
java·开发语言·c++
学渣6765620 小时前
文件传输工具rsync|rust开发环境安装|Ascend实验相关命令
开发语言·后端·rust
木心爱编程20 小时前
C++容器内存布局与性能优化指南
开发语言·c++·性能优化
我是渣哥20 小时前
Java String vs StringBuilder vs StringBuffer:一个性能优化的探险故事
java·开发语言·jvm·后端·算法·职场和发展·性能优化
THMAIL20 小时前
机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
人工智能·python·算法·机器学习·支持向量机·数据挖掘·逻辑回归
你我约定有三20 小时前
java--写在 try 中的创建连接
java·开发语言
ERP老兵-冷溪虎山20 小时前
Python/JS/Go/Java同步学习(第三篇)四语言“切片“对照表: 财务“小南“纸切片术切凭证到崩溃(附源码/截图/参数表/避坑指南/老板沉默术)
java·javascript·python·golang·中医编程·四语言同步学习·职场生存指南
科技树支点20 小时前
无GC的Java创新设计思路:作用域引用式自动内存管理
java·python·go·web·编程语言·编译器
boonya20 小时前
桌面应用开发语言与框架选择指南
开发语言·桌面应用