当前位置: 首页 > java >正文

Python 包管理工具uv常用场景使用指南

在这里插入图片描述

一、Python 版本管理

1. 查看已安装的 Python 版本
uv python list
  • 输出示例:
    Installed Python versions:
    - 3.11.5 (default)
    - 3.12.0
    
2. 安装指定 Python 版本
uv python install 3.12.0  # 安装 Python 3.12.0
  • 支持安装任意版本(如 3.9.183.13.0 等)。
  • 安装完成后,通过 uv python list 验证是否成功。
3. 切换项目 Python 版本
uv python pin 3.12.0  # 将当前项目锁定到 Python 3.12.0
  • 此命令会在项目根目录生成 .python-version 文件,记录版本信息。
  • 后续所有操作(如创建虚拟环境、运行脚本)均默认使用此版本。

二、虚拟环境管理

1. 创建虚拟环境并指定 Python 版本
uv venv --python 3.12.0  # 创建名为 .venv 的虚拟环境,使用 Python 3.12.0
  • 若未指定 --python,默认使用项目锁定的版本(通过 uv python pin 设置)。
2. 激活虚拟环境
# Linux/macOS
source .venv/bin/activate# Windows
.venv\Scripts\activate
  • uv 推荐直接使用 uv run 命令运行脚本,无需手动激活环境
    uv run script.py  # 自动激活虚拟环境并执行脚本
    

三、依赖管理

1. 同步依赖项

在项目根目录运行以下命令,根据 pyproject.tomlrequirements.txt 安装依赖:

uv sync  # 安装所有依赖并生成/更新 uv.lock 文件
  • 按分组安装依赖
    uv sync --only prod    # 仅安装生产依赖
    uv sync --only dev     # 仅安装开发依赖
    
2. 添加新依赖并同步
uv add requests==2.31.0      # 添加生产依赖
uv add --group dev pytest    # 添加开发依赖
uv sync                      # 更新依赖并生成锁定文件

四、多版本 Python 场景示例

场景:项目 A 使用 Python 3.11,项目 B 使用 Python 3.12
  1. 初始化项目 A

    cd project_a
    uv python pin 3.11.5    # 锁定 Python 版本
    uv venv                 # 创建虚拟环境
    uv add numpy            # 添加依赖
    uv sync
    
  2. 初始化项目 B

    cd project_b
    uv python pin 3.12.0    # 锁定 Python 版本
    uv venv
    uv add pandas
    uv sync
    
  3. 运行脚本

    cd project_a
    uv run main.py  # 使用 Python 3.11 和 project_a 的依赖cd ../project_b
    uv run main.py  # 使用 Python 3.12 和 project_b 的依赖
    

五、常用命令总结

功能命令说明
安装 Python 版本uv python install <version>uv python install 3.12.0
锁定项目 Python 版本uv python pin <version>生成 .python-version 文件
创建虚拟环境uv venv默认使用锁定的 Python 版本
同步依赖uv sync安装依赖并生成/更新 uv.lock
运行脚本uv run <script>自动激活虚拟环境并执行

六、注意事项

  1. 全局 Python 版本
    uv 默认通过虚拟环境隔离 Python 版本,无需全局切换。每个项目独立管理版本。

  2. 依赖锁定文件
    提交 uv.lock 到版本控制,确保团队成员和 CI/CD 环境的一致性。

  3. 性能优化
    利用 uv 的全局缓存加速依赖安装(默认路径:~/.cache/uv)。

通过上述操作,uv 可实现从 Python 版本管理到依赖同步的全流程高效控制。

http://www.xdnf.cn/news/7851.html

相关文章:

  • 在线视频下载利器,支持100多平台下载
  • [Java实战]Spring Boot整合Prometheus:应用性能监控与可视化(三十二)
  • 高级学习算法(神经网络 决策树)
  • 基于 STM32 的 PC ARGB 风扇控制器设计与实现
  • k8s-NetworkPolicy
  • Android Handler/Looper线程管理实战攻略:从零到企业级开发
  • Android车载应用开发:Kotlin与Automotive OS深度实践
  • 【VLNs篇】02:NavGPT-在视觉与语言导航中使用大型语言模型进行显式推理
  • 初识GPU加速:如何利用GPU提升AI训练效率
  • 数据直观分析与可视化
  • 如何应对kaggle离线安装环境?
  • 工具环境与系统部署
  • SQL 多表关联与分组聚合:解密答题正确率分析
  • 项目交付标准不明确,如何确保验收顺利
  • HarmonyOS NEXT应用开发实战:玩鸿蒙App客户端开发
  • 网站制作公司哪家强?(2025最新版)
  • Go语言中new与make的深度解析
  • EasyRTC嵌入式音视频通信SDK一对一音视频通信,打造远程办公/医疗/教育等场景解决方案
  • 关于sql 查询性能优化的小经验
  • 【Vue3】一文学会动态路由和编程式路由的使用
  • 前端excel表格解析为json,并模仿excel显示
  • Flink 核心概念解析:流数据、并行处理与状态
  • Flink-Yarn运行模式
  • Java异常处理全解析:从基础到自定义
  • COMPUTEX 2025 | 广和通率先发布基于MediaTek T930 平台的5G模组FG390
  • 集星云推“碰一碰源码”开发思路解析
  • 【神经网络与深度学习】流模型的通俗易懂的原理
  • 鸿蒙开发——8.wrapBuilder 封装全局@Builder的高阶用法
  • 离线服务器Python环境配置指南
  • LangChain入门