Python包管理工具之uv的使用详细指南

Written by

in

文章目录
  • 特点 描述 极速安装 使用 Rust 编写,依赖解析速度远超 pip 和 Poetry 安全性 支持签名包验证(PEP 458) 支持多种格式 兼容 wheels、sdists、editable installs 虚拟环境管理 自动创建和管理虚拟环境 依赖锁定 自动生成 uv.lock 文件确保可重复构建 多种配置方式 支持 requirements.txt、pyproject.toml 等 跨平台 支持 macOS、Linux、Windows
  • 功能 uv pip poetry 依赖解析速度 ⚡⚡⚡ ⚡ ⚡⚡ 锁机制 ✅ (uv.lock) ❌ ✅ (poetry.lock) 虚拟环境管理 ✅ ❌(需配合 venv) ✅ 编辑模式支持 ✅ ✅ ✅ 依赖冲突检测 ✅ ❌ ✅ 打包发布支持 ❌ ❌ ✅ 镜像源支持 ✅ ✅ ✅ 安装方式 独立二进制、pip、conda pip pip、standalone installer
  • 场景 推荐 快速脚本、小项目 ✅ uv + requirements.txt Web 后端开发 ✅ uv + pyproject.toml 数据科学、AI 模型训练 ✅ uv + Conda(如 Miniforge) 需要打包发布的库 ✅ Poetry 需要多 Python 版本切换 ✅ pyenv + uv
  • # 创建项目目录 mkdir hello-uv && cd hello-uv # 创建虚拟环境 uv venv # 激活虚拟环境 source .venv/bin/activate # 安装依赖 uv pip install requests # 查看已安装包 uv pip list # 冻结依赖 uv pip freeze > requirements.txt # 生成锁文件 uv lock # 后续只需运行: uv sync 以上就是Python包管理工具之uv的使用详细指南的详细内容,更多关于Python uv包管理的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Python利用uv轻松管理venv虚拟环境和pip依赖包 Python 包管理工具 UV 功能介绍及安装方式详解 Python依赖包管理工具uv安装与使用详解 Python包管理工具核心指令uvx举例详细解析 现代 Python 包管理器 uv的使用详解 Python包管理工具uv常用场景使用超详细指南 python uv包管理小结
  • 目录
    • 一、uv 的特点
    • 二、安装 uv
      • 使用官方推荐方式(适用于大多数用户)
      • 使用 pip 安装(Python >= 3.8)
      • 使用 conda/mamba 安装(Conda 用户)
    • 三、基本使用方法
      • 1. 初始化项目并创建虚拟环境
      • 2. 安装依赖
      • 3. 生成依赖文件
      • 4. 使用 pyproject.toml 管理依赖
      • 5. 升级依赖
      • 6. 删除依赖
    • 四、高级功能
      • 1. 可重复构建(Reproducibility)
      • 2. 支持编辑模式(Editable Installs)
      • 3. 镜像源设置(Mirror Support)
    • 五、uv vs pip vs poetry 对比
      • 六、适用场景推荐
        • 七、示例流程(从零开始)

          uv 是一个新兴的 Python 包管理工具,它旨在提供比 pippoetry 更快、更现代的依赖管理体验。uvCharles Murphy 开发,基于 Rust 构建,具有极高的性能和兼容性,支持标准的 requirements.txt 文件以及 pyproject.toml 中的依赖声明。

          特点 描述
          极速安装 使用 Rust 编写,依赖解析速度远超 pip 和 Poetry
          安全性 支持签名包验证(PEP 458)
          支持多种格式 兼容 wheels、sdists、editable installs
          虚拟环境管理 自动创建和管理虚拟环境
          依赖锁定 自动生成 uv.lock 文件确保可重复构建
          多种配置方式 支持 requirements.txt、pyproject.toml 等
          跨平台 支持 macOS、Linux、Windows

          # macOS / Linux 用户使用以下命令安装
          curl -Ls https://install.uv.rs | sh
          

          安装后会将 uv 添加到你的 PATH 中。

          pip install uv
          

          conda install -c conda-forge uv
          

          mkdir myproject && cd myproject
          uv venv
          source .venv/bin/activate  # Windows: .venvScriptsactivate
          

          uv venv 会自动在当前目录下创建 .venv 虚拟环境。

          使用 requirements.txt

          uv pip install -r requirements.txt
          

          安装单个包

          uv pip install requests
          

          安装开发依赖

          uv pip install pytest --dev
          

          注意:目前 --dev 仅在使用 pyproject.toml 时有效。

          uv pip freeze > requirements.txt
          

          或使用:

          uv lock
          

          这会生成 uv.lock 文件,用于精确锁定依赖版本。

          你可以创建一个 pyproject.toml 来定义项目依赖:

          [project]
          name = "myapp"
          version = "0.1.0"
          dependencies = [
              "requests",
              "fastapi>=0.68.0,<0.70.0"
          ]
          
          [build-system]
          requires = ["setuptools>=42"]
          build-backend = "setuptools.build_meta"
          

          然后执行:

          uv sync
          

          这会根据 pyproject.toml 安装依赖,并自动生成 uv.lock 文件。

          uv pip upgrade requests
          

          升级所有依赖:

          uv pip upgrade --all
          

          uv pip uninstall requests
          

          通过 uv.lock 文件可以保证不同机器上的依赖完全一致:

          uv sync
          

          该命令会严格按照 uv.lock 中的版本安装依赖。

          uv pip install -e .
          

          适合本地开发调试。

          uv pip install requests --index-url https://pypi.tuna.tsinghua.edu.cn/simple
          

          支持国内镜像加速安装。

          功能 uv pip poetry
          依赖解析速度 ⚡⚡⚡ ⚡⚡
          锁机制 ✅ (uv.lock) ✅ (poetry.lock)
          虚拟环境管理 ❌(需配合 venv)
          编辑模式支持
          依赖冲突检测
          打包发布支持
          镜像源支持
          安装方式 独立二进制、pip、conda pip pip、standalone installer

          场景 推荐
          快速脚本、小项目 ✅ uv + requirements.txt
          Web 后端开发 ✅ uv + pyproject.toml
          数据科学、AI 模型训练 ✅ uv + Conda(如 Miniforge)
          需要打包发布的库 ✅ Poetry
          需要多 Python 版本切换 ✅ pyenv + uv

          # 创建项目目录
          mkdir hello-uv && cd hello-uv
          
          # 创建虚拟环境
          uv venv
          
          # 激活虚拟环境
          source .venv/bin/activate
          
          # 安装依赖
          uv pip install requests
          
          # 查看已安装包
          uv pip list
          
          # 冻结依赖
          uv pip freeze > requirements.txt
          
          # 生成锁文件
          uv lock
          
          # 后续只需运行:
          uv sync
          

          以上就是Python包管理工具之uv的使用详细指南的详细内容,更多关于Python uv包管理的资料请关注风君子博客其它相关文章!

          您可能感兴趣的文章:

          • Python利用uv轻松管理venv虚拟环境和pip依赖包
          • Python 包管理工具 UV 功能介绍及安装方式详解
          • Python依赖包管理工具uv安装与使用详解
          • Python包管理工具核心指令uvx举例详细解析
          • 现代 Python 包管理器 uv的使用详解
          • Python包管理工具uv常用场景使用超详细指南
          • python uv包管理小结

          站内搜索