[Python] UV工具入门使用指南——小试牛刀
背景
MCP开发使用到了uv,简单记录一下:
为什么MCP更推荐使用uv进行环境管理?
MCP 依赖的 Python 环境可能包含多个模块,uv 通过 pyproject.toml 提供更高效的管理方式,并且可以避免 pip 的一些依赖冲突问题。此外,uv 的包管理速度远超 pip,这对于 MCP 这样频繁管理依赖的项目来说是一个很大的优势。
uv入门介绍
MCP开发可以借助uv进行虚拟环境创建和依赖管理。uv 是一个Python 依赖管理工具,类似于 pip 和 conda,但它更快、更高效,可以更好地管理 Python 虚拟环境和依赖项。uv 的核心目标是替代 pip、pip-tools 和 venv ,提供更好的性能和更低的管理开销。
uv是一个新兴的Python包管理工具,由Astral开发(由Rust语言编写)。它旨在成为pip和pip-tools的更快速替代品。
uv
的特点:
-
速度更快:相比
pip
,uv
采用 Rust 编写,性能更优。 -
支持 PEP 582:无需
virtualenv
,可以直接使用__pypackages__
进行管理。 -
兼容
pip
:支持requirements.txt
和pyproject.toml
依赖管理。 -
替代
venv
:提供uv venv
进行虚拟环境管理,比venv
更轻量。 -
跨平台:支持 Windows、macOS 和 Linux。
uv安装流程
方法 1:使用 pip
安装(前提是你的系统已经安装了pip命令)
ps:Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
pip --version # Python2.x 版本命令
pip3 --version # Python3.x 版本命令
-------------------------------------
pip install uv
方法 2:使用 curl
直接安装
如果你的系统没有 pip
,可以直接运行:
curl -LsSf https://astral.sh/uv/install.sh | sh
执行命令后会自动下载 uv 并安装到 /usr/local/bin。
uv的基本用法介绍
安装 uv 后,可以像 pip 一样使用它,但它的语法更简洁,速度也更快。
注意:以下为使用语法示例,根据实际情况来判断是否运行:
-
安装 Python 依赖
uv pip install package-name
与 pip install package-name 类似,但更快。
-
创建虚拟环境
uv venv myenv
# 或者直接uv venv,会自动生成一个.venv文件
# 或者指明:uv venv .venv# 删除旧环境并快速重建(适合 CI/CD)
uv venv --clear .venv
等效于 python -m venv myenv / python -m venv .venv,但更高效。
-
激活虚拟环境
# 注:pycharm初次需要配一下运行powershell脚本的权限source myenv/bin/activate # Linux/macOS
.\myenv\Scripts\activate # Windows
# .venv\Scripts\activate .\.venv\Scripts\activate
-
安装项目依赖
uv pip install -r requirements.txt
等效于 pip install -r requirements.txt,但更高效。
-
生成requirements.txt
uv pip compile requirements.in -o requirements.txt# 生成跨平台的 requirements.txt(避免平台特定依赖)
uv pip compile --platform=linux requirements.in
等效于传统方式: pip freeze > requirements.txt 或 使用pip-tools:pip-compile requirements.in
-
升级依赖
uv pip install --upgrade package-name
等效于 pip install --upgrade package-name。
- 依赖管理
# 安装包(比 `pip` 更快)
uv pip install numpy pandas# 卸载包
uv pip uninstall numpy# 清理缓存(比 `pip` 更彻底)
uv pip cache purge# 查看已安装包(与 `pip list` 相同)
uv pip list# 生成 requirements.txt(支持更精确的版本锁定)
uv pip freeze > requirements.txt# 升级包
uv pip install --upgrade numpy
# 安装包
pip install numpy pandas# 卸载包
pip uninstall numpy# 清理缓存
pip cache purge# 查看已安装包
pip list# 生成 requirements.txt
pip freeze > requirements.txt# 升级包
pip install --upgrade numpy
-
直接运行 Python 项目
uv run 的主要用途是 在虚拟环境中运行命令
uv run <command> # 等效于:激活虚拟环境 → 执行命令
它 不会自动安装依赖(不像 pip install && python script.py),而是专注于环境激活+命令执行。
运行 Python 脚本【这里不太对劲,C友们稍等w后续处理!!!】
如果项目中包含 pyproject.toml
,你可以直接运行?:
uv run python script.py
# 貌似页可以直接uv run script.py
这等效于:
pip install -r requirements.txt
python script.py
参考
Python pip 安装与使用:Python pip 安装与使用 | 菜鸟教程
python版本号问题:Python常见问题 — Python 3.11.12 文档
uv github官方仓库:astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
***uv官方文档:uv
Commands | uv
uv run:Commands | uv
¿