595 字
2 分钟
uv包管理工具
1.支持功能
| 包管理 | 完全替代pip的功能,支持包的安装、升级、卸载等操作 |
|---|---|
| 虚拟环境管理 | 内置虚拟环境创建和管理,无需额外安装virtualenv或venv |
| 依赖解析与锁定 | 提供智能依赖解析算法并生成锁定文件uv.lock |
| Python版本管理 | 能够自动安装和管理不同版本的Python解释器 |
| 项目初始化 | 通过uv init快速创建新项目并生成标准结构 |
| 脚本运行 | 支持在虚拟环境中直接运行脚本而无需手动激活环境 |
| 包发布 | 内置支持将项目打包并发布到PyPI等仓库 |
和传统pip的对比
| 特性 | pip (传统) | uv (现代) |
|---|---|---|
| 速度 | 较慢 | 极快 (快10-100倍) |
| 稳定性/兼容性 | 极其成熟,与所有生态完美兼容 | 较新,发展极快,兼容性已非常出色 |
| 项目依赖锁定 | 手动,脆弱 (requirements.txt) | 自动化,稳健 (pyproject.toml + uv.lock) |
| 环境管理 | 依赖外部工具 (venv) | 内置,且能管理 Python 版本 |
| 单文件可执行 | 否 (依赖 Python) | 是 (独立二进制文件,无需预装 Python) |
| 学习曲线 | 极低,几乎所有教程都基于它 | 需了解新工作流,但命令设计直观 |
2.安装
# On macOS and Linux.curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# With pip.pip install uv
#检查是否安装成功uv -V3.使用
1.命令
| 命令 | 描述 |
|---|---|
| run | 运行命令或脚本 |
| init | 创建一个新项目 |
| add | 向项目中添加依赖项 |
| remove | 从项目中移除依赖项 |
| sync | 更新项目的环境 |
| lock | 更新项目的锁定文件 |
| export | 将项目的锁定文件导出为其他格式 |
| tree | 显示项目的依赖树 |
| tool | 运行和安装由 Python 包提供的命令 |
| python | 管理 Python 版本和安装 |
| pip | 使用兼容 pip 的接口管理 Python 包 |
| venv | 创建虚拟环境 |
| build | 将 Python 包构建为源代码分发包和 wheels |
| publish | 将分发包上传到索引 |
| cache | 管理 uv 的缓存 |
| self | 管理 uv 可执行文件 |
| version | 显示 uv 的版本 |
| generate-shell-completion | 生成 shell 自动补全脚本 |
| help | 显示某个命令的文档 |
2.管理依赖
1.安装卸载包(add remove)
# 安装最新版包# uv add 可以理解为 uv pip install的增强版,底层同样是利用了pip进行#安装,但是uv add额外增加了更新项目配置文件的功能uv add requests# 安装指定版本 uv add "flask>=3.0.0"
# 卸载指定的包uv remove flask2.同步(sync)
# 同步所有依赖(包括dev)uv sync
# 仅同步生产依赖uv sync --production
# 同步并清理多余包uv sync --clean3.锁定(lock)
# 生成新锁定文件uv lock
# 检查更新但不写入(dry-run)uv lock --check
# 强制重新解析uv lock --update4.依赖关系(tree)
# 显示完整依赖树uv tree
# 仅显示指定包的依赖路径uv tree flask
# 反向追溯依赖(谁依赖了这个包)uv tree --reverse sqlalchemy
# 输出为JSON格式uv tree --format json3.管理python环境
1.基本命令
uv python [OPTIONS] <COMMAND>
命令 描述list 列出可用的Python安装版本install 下载并安装Python版本find 显示当前Python安装位置pin 固定使用特定Python版本dir 显示uv Python安装目录uninstall 卸载Python版本2.区分开发和生产环境
$ uv add --group dev pandas$ uv add --group production requests 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时
相关文章 智能推荐
1
Pandoc 文档转换工具
工具 Pandoc 文档转换工具笔记,整理安装、Typora 配置、格式转换、模板样式和常用导出场景。
2
AI 编程工具使用
工具 AI 编程工具使用笔记,整理 Gemini、CLI、IDE 插件、配置流程和日常开发使用方式。
3
代码版本管理与Git学习笔记(AI整理)
工具 一份围绕代码版本管理、Git 工具、分支协作、提交规范和 Commit Message 标准的完整学习笔记。
4
Spec-kit使用教程
工具 Spec Kit 使用教程,整理安装配置、规范驱动开发流程、命令用法和项目落地步骤。
5
Gradle构建工具(AI整理)
构建工具 Gradle 构建工具笔记,整理项目结构、脚本配置、依赖管理、任务机制和 Android 构建实践。