关于uv 工具的使用总结(uv,conda,pip什么关系)

最近要开发MCP 项目,uv工具使用是官方推荐的方式,逐要了解这个uv工具。整体理解如下:

一.uv工具的基本情况

UV 是一个由 Rust 编写的现代化 Python 包管理工具,旨在通过极速性能和一体化功能替代传统工具(如 pip、virtualenv、pip-tools 等),覆盖依赖管理、虚拟环境创建、项目配置、依赖锁定等全流程操作。其核心优势在于速度极快 (比 pip 快 10-100 倍)、兼容现有生态 (支持 requirements.txtpyproject.toml),且提供一站式解决方案(无需多工具切换)。

二、uv 与conda 什么关系

uv类似pip 和virtualenv等工具的集合

1.uv创建虚拟环境下,与conda的区别UV 不会自动安装 Python 解释器

UV 的 uv venv 命令在创建虚拟环境时,会生成.venv的文件,依赖于系统中已安装的 Python 解释器 。它的行为类似于 Python 自带的 venv 模块:

  • 若当前已激活某个 Python 环境(如通过 Conda 或 pyenv 安装的 Python),UV 会基于该环境的解释器创建虚拟环境。

  • 若未激活任何环境,UV 默认使用系统的全局 Python 解释器。

  • 可以指定已经存在的python解释器:如何指定 Python 版本? 若需使用特定版本的 Python,需 提前通过其他工具安装该版本 (如 pyenv、Conda 或系统包管理器),再通过 --python 参数指定路径:

    复制代码
    如  uv venv .venv --python /bin/python

2.如果用conda创建虚拟环境下,也可以使用uv工具进行python包的管理,

在 Conda 环境中使用 UV

  1. 角色定位

    • ✅ 正确:在 Conda 环境中,UV 可替代 pip,提供更快的包安装和依赖解析,但 不会创建新的虚拟环境 (如 .venv)。

    • ⚠️ 关键补充:必须通过 conda activate 显式激活目标环境,否则 uv run 可能误判环境(如切换到项目中的 .venv)。

  2. 依赖管理分工

    • ✅ 正确:Conda 负责管理 Python 解释器版本、非 Python 依赖(如 CUDA、系统库)

    • ✅ 正确:UV 负责管理 纯 Python 包 (如 numpyrequests),且依赖关系可写入 pyproject.tomlrequirements.txt

三、uv add 和uv pip install的区别

uv adduv pip install 是 UV 工具中两个关键命令,它们虽然都能安装 Python 包,但设计目标和适用场景有显著区别。以下是详细对比:

功能定位对比

命令 核心功能 适用场景
uv add 将依赖声明写入 pyproject.toml 并安装包,支持分组(生产/开发依赖)。 项目管理:需要记录依赖到配置文件。
uv pip install 直接安装包到当前环境,行为与 pip install 一致,但速度更快。不修改任何配置文件。 临时操作:快速安装或调试,无需持久化依赖。

这个pyproject.toml 文件是记录相关依赖库信息的文件,有点类似pip下的requirements.txt,

利用这个文件,可以进行项目管理

安装生产依赖:

复制代码
uv install --only main 
  • 安装所有依赖(包括开发依赖)

    uv install

四、uvx是什么工具命令

临时运行工具 :​uvx 会在隔离的虚拟环境中临时安装并运行指定的工具,执行完毕后该环境会被清理。

  • 快速试用工具:​适用于快速试用某个工具或运行一次性的任务,而无需在系统中永久安装该工具。​

  • 支持版本指定 :​可以指定工具的版本,例如:​Astral Docs+1Astral Docs+1

复制代码
相关推荐
Dxy12393102162 小时前
DrissionPage ChromiumPage模式:浏览器自动化的高效利器
运维·python·自动化·drissionpage
AI风老师2 小时前
1、Pytorch介绍与安装
人工智能·pytorch·python
立秋67893 小时前
用 Python 模拟下雨效果
开发语言·python·pygame
xiaohanbao093 小时前
day40 python图像数据与显存
python·深度学习·学习·算法·机器学习·图像
点云SLAM3 小时前
PyTorch中 torch.utils.data.DataLoader 的详细解析和读取点云数据示例
人工智能·pytorch·python·算法·计算机视觉·dataloader·3d深度学习
KENYCHEN奉孝3 小时前
Weather app using Django - Python
后端·python·django
安迪小宝3 小时前
11高可用与容错
python·celery
丁值心4 小时前
5.29打卡
开发语言·人工智能·python·机器学习·支持向量机
HakunamatataWang4 小时前
python 包管理工具uv
python·uv
我有一个魔盒4 小时前
python uv包管理器使用
开发语言·python·uv