Python依赖包管理工具详解:uv的使用与探索

Python 依赖包管理工具:uv

  • 简介
  • 1.安装
  • 2. 基本使用
  • 2.1 创建虚拟环境
  • 2.2 激活虚拟环境
  • 2.3 初始化项目
  • 2.4 安装依赖
  • 2.4 移除依赖
  • 2.5 查看已安装的包
  • 2.6 生成 requirements.txt
  • 3. UV 与 Pip、Pipenv、Virtualenv 的对比
  • 总结
  • 简介

    UV 是一个用 Rust 编写的 Python 包安装和依赖管理工具,比传统工具(如 pip)有着更快、更高效的体验。它主要关注两个核心目标:

  • 速度: UV 在包安装、依赖解析和虚拟环境创建等方面进行了优化,速度有显著的提升。
  • 效率: UV 可以减少资源消耗,尤其是在大型项目中。
  • UV 基于 pip 和 venv 的概念,因此与现有 Python 生态系统兼容,学习曲线相对平缓。

    GitHub仓库:https://github.com/astral-sh/uv

    1.安装

    使用 pip 安装 UV:

    pip install uv
    

    2. 基本使用

    2.1 创建虚拟环境

    UV 可以快速创建 Python 虚拟环境:

    uv venv .venv  # 创建一个名为 .venv 的虚拟环境
    

    python -m venv .venv 相比,UV 版本的速度通常更快。

    2.2 激活虚拟环境

    创建好虚拟环境后,需要激活它才能使用:

    .venv\Scripts\activate  # 在 Windows 上
    

    uv venv -p 3.11.9  # 指定本机已安装的Python版本
    

    2.3 初始化项目

    uv init  # 生成pyproject.toml和uv.lock
    

    2.4 安装依赖

  • 从pyproject.toml自动安装依赖:

    uv sync
    

  • 添加一个或多个依赖:

    uv add pandas airtest
    
  • UV 在安装依赖时,会进行并行下载和编译,显著提升速度。

    2.4 移除依赖

    使用 remove 命令移除依赖包:

    uv remove requests
    

    2.5 查看已安装的包

    使用 list 命令查看已安装的包:

    uv pip list
    

    2.6 生成 requirements.txt

    虽然 UV 自身不直接提供生成 requirements.txt 的功能,但你可以使用 pip freeze 命令:

    uv pip freeze > requirements.txt
    

    3. UV 与 Pip、Pipenv、Virtualenv 的对比

    功能 UV Pip Pipenv Virtualenv
    安装速度 更快 较慢 中等 不适用
    资源占用 更低 较高 中等 中等
    并行下载 支持 有限支持 不支持 不适用
    虚拟环境创建速度 更快 较慢 中等 较慢
    依赖管理 支持 支持 支持 不适用
    虚拟环境管理 支持 不支持 支持 支持
    项目初始化 支持 不支持 支持 不支持
    依赖锁定 支持 不支持 支持 不支持
    跨平台支持 支持 支持 支持 支持

    总结

    UV 是一个新兴的 Python 包安装和依赖管理工具,凭借其用 Rust 编写的高效实现,在速度和资源占用方面显著优于传统的 pip 和 virtualenv。UV 不仅支持快速创建虚拟环境,还能并行下载和编译依赖包,极大地提升了开发效率。此外,UV 还提供了项目初始化和依赖锁定等功能,使其在功能上与 Pipenv 相当,但在性能上更具优势。

    作者:blues_C

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python依赖包管理工具详解:uv的使用与探索

    发表回复