一、uv简述uv是由 Astral 公司开发、用 Rust 编写的极速 Python 包管理器与项目管理工具对标 pip、pipenv、poetry速度远超传统工具。可以实现不同项目使用不同的python版本。二、常用命令项目管理命令说明uv init初始化新项目生成pyproject.toml.python-versionuv init my-project在新目录初始化项目uv add pkg添加依赖到项目自动更新pyproject.tomluv.lockuv add --dev pkg添加开发依赖uv remove pkg移除依赖uv sync同步项目环境按uv.lock安装所有依赖uv lock仅更新锁文件不安装uv run cmd在项目虚拟环境中运行命令uv run app.py运行 Python 脚本uv run pytest在项目环境中跑测试Python 版本管理命令说明uv python install 3.12安装 Python 3.12uv python install 3.11 3.13同时安装多个版本uv python list查看可用 Python 版本uv python list --only-installed只看已安装的版本uv python pin 3.12固定项目使用的 Python 版本uv python find 3.12查找本地 3.12 路径工具安装全局 CLI 工具命令说明uv tool install ruff全局安装一个 CLI 工具类似 pipxuv tool install black --with pytest安装工具 附带依赖uv tool run ruff check .临时运行工具不永久安装uv tool list查看已安装的工具uv tool upgrade ruff升级工具uv tool uninstall ruff卸载工具一次性运行无需项目命令说明uvx ruff check .等同于uv tool run ruff check .uv run --with requests python -c import requests; ...临时注入依赖运行pip 兼容模式命令说明uv pip install pkgpip 风格安装无锁文件uv pip install -r requirements.txt从 requirements.txt 安装uv pip install -e .可编辑模式安装uv pip uninstall pkg卸载uv pip list列出已安装包uv pip freeze requirements.txt导出依赖列表uv pip compile requirements.in -o requirements.txt编译依赖为锁定文件虚拟环境命令说明uv venv在当前目录创建.venvuv venv --python 3.12指定 Python 版本创建uv venv .venv指定路径创建构建 发布命令说明uv build构建项目发行包wheel sdistuv publish发布到 PyPIuv publish --token token使用 token 发布三、uv在项目中的使用#安装python版本uv pythoninstall3.12#查看Python版本uv python list#指定命令执行所在项目使用的版本。生成或者修改.python-versionuv python pin3.12#初始化新项目生成 pyproject.toml .python-version,支持创建目录或者指定python的版本uv init uv init 目录 uv init-p3.12uv init 目录-p3.12#按照在当前目录创建 .venv环境uv venv#同步项目环境创建 .venv环境 按uv.lock 安装所有依赖uvsync#添加依赖到项目创建 .venv环境 自动更新 pyproject.toml uv.lock并且安装相关依赖uvaddmcp[cli]所以项目中一般使用uv init 目录 -p 3.12和uv add就可以。如果需要在不同项目中使用不同版本先安装不同版本的python初始化项目时指定python版本即可或者通过uv python pin指定。.python-version是项目级别的——每个项目各自一个文件互不干扰优先级顺序.python-version文件 pyproject.toml中的requires-python 全局默认