尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

快速上手 uv:Python 包与项目管理器的 tldr 速查指南

快速上手 uv:Python 包与项目管理器的 tldr 速查指南 文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载导读uv是一个以“快”著称的 Python 包管理器与项目管理器用一条命令即可完成项目初始化、依赖管理、环境同步与锁定文件维护。本文以 tldr-pages 仓库中的 uv 速查页及其英文原版 pages/common/uv.md为骨架逐条展开uv init、uv add、uv remove、uv run、uv sync、uv lock等核心子命令的用法并延伸至仓库中对应子命令的独立速查页帮助你快速掌握这套“项目即环境”的现代 Python 工作流。1. 这是怎样的一个速查页在 tldr-pages 项目中uv属于“通用common”类命令即跨平台、不依赖特定操作系统的命令其页面同时被多语言目录收录如 pages.ar/common/uv.md、pages.zh/common/uv.md、pages.ru/common/uv.md 等。页面顶部的一行简介将uv定义为“快速的 Python 包和项目管理器fast Python package and project manager”。该页同时提示uv的某些子命令如tool、python拥有各自独立的速查文档。实际上tldr-pages 仓库在 pages/common/ 下为 uv 维护了多达 18 个专用页面包括uv-init、uv-add、uv-run、uv-sync、uv-lock、uv-remove、uv-build、uv-venv、uv-tool、uv-pip、uv-publish、uv-cache、uv-tree等因此本页只是整个 uv 速查家族的入口页。官方 CLI 参考文档托管在docs.astral.sh域下本页及各子命令页的“更多信息More information”条目均指向对应命令的官方参考。2. 创建项目uv init初始化是使用 uv 管理项目的第一步基本用法直接继承自速查页场景命令在当前目录创建新 Python 项目uv init在指定路径创建新项目uv init {{path/to/directory}}第一条命令会在当前目录生成一个完整可用的项目骨架第二条则会在给定目录中创建项目。扩展自 uv-init 速查页uv init还支持更多定制能力指定项目名uv init {{project_name}}指定目录并命名uv init --directory {{path/to/directory}} {{project_name}}声明为 Python 库项目uv init --lib {{project_name}}别名--library指定构建后端build backenduv init --build-backend {{build_backend}} {{project_name}}仅生成pyproject.toml不生成示例代码等其他文件uv init --bare {{project_name}}设置项目描述uv init --description {{description}} {{project_name}}这些参数对应当前仓库中 uv-init.md 的逐条示例从中可以看出tldr 的速查页遵循“一条示例对应一个明确参数”的撰写规范读者可以按需摘取。3. 依赖增删uv add与uv remove3.1 添加依赖uv add速查页给出最常用的一条uv add {{package}}向项目添加新的依赖。根据 uv-add.md 的扩充它还支持一次添加多个包uv add {{package1 package2 ...}}带版本约束的添加uv add {{package1.2.3}}包规范遵循 PEP 508见该页顶部说明添加到可选依赖组发布时会包含uv add --optional {{optional}} {{package1 package2 ...}}添加到本地依赖组发布时不包含uv add --group {{group}} {{package1 package2 ...}}添加到开发依赖组等价于--group dev的简写uv add --dev {{package1 package2 ...}}以可编辑editable方式添加本地包uv add --editable {{path/to/package}}/安装包时启用指定 extra 特性可重复使用uv add {{package}} --extra {{extra_feature}}uv add的语义是把依赖写入pyproject.toml并同步环境这与传统pip install只装包、不记录依赖的行为有本质区别是“项目即环境”模式的关键一环。3.2 移除依赖uv remove对应的反向操作是uv remove {{package}}同样以pyproject.toml为操作对象。进阶用法见 uv-remove.md一次移除多个依赖uv remove {{package1 package2 ...}}移除开发依赖uv remove --dev {{package}}从可选依赖组移除uv remove --optional {{extra_name}} {{package}}从指定依赖组移除uv remove --group {{group_name}} {{package}}移除但不立即同步虚拟环境uv remove --no-sync {{package}}注意--no-sync这类选项表明默认情况下uv remove在改写pyproject.toml后会自动让环境与新的依赖声明保持一致。4. 在项目环境中执行uv runuv run是 uv 工作流中最具特色的命令之一它会在项目环境内运行脚本或任意命令而不需要你手动激活虚拟环境。速查页给出两种形式运行脚本uv run {{path/to/script.py}}运行命令uv run {{command}}英文原版 pages/common/uv.md 将两者合并为一条占位符语法uv run {{path/to/script.py|command}}表示“脚本或命令二选一”。扩展自 uv-run.mduv run还提供运行 Python 模块uv run -m {{module_name}}即--module临时携带额外包运行命令uv run -w {{package}} {{command}}即--with按 requirements 文件携带依赖运行脚本uv run --with-requirements {{path/to/requirements.txt}} {{path/to/script.py}}在隔离环境中运行不加载项目依赖uv run --isolated {{path/to/script.py}}运行前不同步环境uv run --no-sync {{command}}这四条进阶选项分别对应“临时依赖注入”“按文件注入依赖”“隔离运行”“跳过环境同步”四种常见场景使得uv run既能当项目入口也能充当临时的命令沙箱。5. 同步环境uv syncuv sync的职责是让项目环境与pyproject.toml/ lockfile 保持一致速查页中的基本形态为uv sync描述为“从pyproject.toml更新项目的环境”。uv-sync.md 进一步揭示了它的精细化控制同步并包含全部可选依赖extrasuv sync --all-extras仅同步指定 extrauv sync --extra {{extra_name}}仅同步开发依赖uv sync --only-dev排除开发依赖uv sync --no-dev同步指定依赖组uv sync --group {{group_name}}检查环境是否已同步无变更则不动uv sync --check预演同步展示将执行的操作但不落地uv sync --dry-run--check与--dry-run的存在说明uv sync是无副作用的“声明式”同步工具它读取依赖声明计算与当前环境之间的差异再决定是否安装、移除或升级包。这在 CI/CD 与多人协作场景中非常有用可以保证不同机器上的环境可复现。6. 锁定依赖uv lockuv lock用于为项目依赖创建锁定文件lock file速查页基本用法为uv lock。锁定文件将pyproject.toml中相对宽泛的版本声明解析为精确的、可复现的版本集合是所有依赖声明中确定性的最终来源。扩展自 uv-lock.md仅检查锁定文件是否最新、不更新uv lock --check仅断言锁定文件存在、不校验是否最新uv lock --check-exists预演锁定展示将写入的内容而不实际写入uv lock --dry-run为某个 Python 脚本而非当前项目生成锁定uv lock --script {{path/to/script.py}}将所有包升级到最新兼容版本uv lock --upgrade仅升级指定包uv lock --upgrade-package {{package1}} --upgrade-package {{package2}}--upgrade系列选项对应“日常增量升级”需求当只想让某个依赖升级时不需要全量刷新锁定文件。--check则可集成到提交前检查或 CI 中确保锁定文件与依赖声明始终保持同步。7. 构建产物uv build英文原版速查页 pages/common/uv.md 还包含uv build一条用于将项目构建为源码分发包sdist与二进制分发包wheel。它的完整参数可查阅仓库中的 uv-build.md。这一步骤通常发生在项目开发完成、准备通过uv publish发布到包索引之前与add、sync、lock共同构成“开发 → 锁定 → 同步 → 构建 → 发布”的完整生命周期。8. 从速查页到完整 uv 生态uv 的能力远不止本页所示。tldr-pages 仓库为 uv 维护了完整的子命令速查家族均在 pages/common/ 下可作为继续深入的路标子命令页主题uv-venv.md创建虚拟环境uv venvuv-pip.md兼容pip风格的包管理操作uv-tool.md安装并运行命令行工具如uv tool runuv-python.mdPython 版本管理安装、切换解释器uv-publish.md发布包到索引uv-cache.md缓存管理uv-tree.md展示依赖树uv-export.md导出锁定依赖到requirements.txt等格式uvx.md无需项目即可直接运行打包好的工具其中tool与python正是速查页开篇提到的“拥有自身独立文档”的子命令。一点使用提示本文所有命令均以 tldr 速查页的占位符语法呈现如{{package}}实际执行时请替换为真实的包名、路径或项目名本页内容面向通用平台common在具体操作系统上个别选项的表现可能略有差异可结合uv官方 CLI 参考确认。掌握uv init起步、uv add/remove声明依赖、uv run免激活执行、uv sync声明式同步、uv lock精确锁定这一套组合你就能用最少的命令完成从零创建到可复现交付的完整 Python 项目流程。赞分享文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载相关推荐终极指南5分钟快速上手Paru包管理器终极指南5分钟快速上手Paru包管理器 Paru是功能强大的AUR助手为Arch Linux用户提供简单高效的软件包管理体验。这款工具不仅包装了pacmanCLI包管理器开发工具如何快速搭建Next.js Monorepo从零开始的完整指南如何快速搭建Next.js Monorepo从零开始的完整指南 想要构建现代化的Web应用Next.js Monorepo架构是你的终极选择本指南将带你从示例工程前端后端tldr 命令速查apt-get——Debian/Ubuntu 软件包管理核心指南tldr 命令速查apt get——Debian/Ubuntu 软件包管理核心指南 本文基于 tldr 仓库中 pages.ar/linux/apt get.文档教程知识库上一篇Android权限配置终极指南Jetpack Compose应用中正确声明网络权限的5个关键步骤下一篇Redux Thunk与WebAssembly图像处理状态与性能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表