十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

reference 速查手册:uv —— 用 Rust 打造极速 Python 包与项目管理工具

reference 速查手册:uv —— 用 Rust 打造极速 Python 包与项目管理工具 reference 速查手册uv —— 用 Rust 打造极速 Python 包与项目管理工具【免费下载链接】reference面向开发者的技术速查清单Cheat Sheets集合整理常见技术、工具与开发流程帮助快速查阅关键信息提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/referenceuv 是一个用 Rust 编写的极速 Python 包与项目管理工具它同时覆盖依赖解析、虚拟环境、Python 版本管理和项目构建等环节正逐渐成为 Python 开发者日常流程的核心替代方案。本文以本项目 docs/uv.md 备忘清单为主体结合当前仓库的组织方式系统整理 uv 的安装、项目初始化、依赖管理、脚本运行与构建打包等实战用法读完即可用一条命令链跑通建项目 → 加依赖 → 跑代码 → 出包的完整流程。uv 是什么uv 由 Rust 生态工具链团队ruff 作者所在团队开发定位是Python 包和项目管理工具。它用一个二进制整合了传统上分散在pip、virtualenv、pip-tools、poetry等工具中的能力包安装与依赖解析替代pip/pip-tools输出可重复安装的锁定文件虚拟环境管理创建、激活、自动发现并复用项目虚拟环境Python 版本管理下载、安装并固定项目所需的解释器版本项目构建基于pyproject.toml构建 wheel 与 sdist 产物。在本仓库中uv 被收录于 README.md 的Python分类下标记为data-langPython的速查条目与 Python、pip、Conda 等文档并列供开发者在搭建 Python 环境时快速对照查阅。安装 uvuv 提供独立安装程序与PyPI 发布两条安装路径前者不依赖 Python 环境后者便于在已有 pip 生态中顺势引入。使用独立安装程序安装独立安装程序会将 uv 二进制安装到用户目录无需 sudo也不依赖系统 PythonmacOS 或 Linuxcurl -LsSf https://astral.sh/uv/install.sh | shWindowspowershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex安装完成后uv 可执行文件会位于~/.local/binmacOS/Linux或对应的用户目录下若终端无法直接找到uv命令需要将该目录加入PATH。安装成功后可用uv --version验证版本后续升级通过uv self update即可拉取最新版。通过 PyPI 安装如果系统已具备 Python 与包管理工具也可以直接以 Python 包的形式安装# pip pip install uv# pipx隔离安装 CLI 工具推荐 pipx install uv使用pipx安装可以把 uv 隔离在独立环境中避免污染全局 Python 的依赖列表。两种方式安装后的用法完全一致。快速入门创建新项目创建项目uv 用一条命令即可初始化一个结构完整的 Python 项目# 创建一个目录作为项目的根目录 uv init project_name# 将当前目录作为项目的根目录 uv inituv init project_name会新建同名目录并在其中生成项目骨架不带参数时则直接以当前目录为根初始化。uv 也会尝试将当前 Python 版本写入.python-version用于固定项目的解释器版本。项目的结构初始化完成后项目根目录下会出现如下结构. ├── .venv/ # 虚拟环境目录 │ ├── bin/ # 可执行文件 │ ├── lib/ # 安装的库 │ └── pyvenv.cfg # 虚拟环境配置 ├── .python-version # 指定 Python 版本 ├── README.md # 项目说明文档 ├── main.py # 主程序入口 ├── pyproject.toml # 项目配置与依赖声明 └── uv.lock # 依赖锁定文件自动生成各文件/目录的职责如下| 路径 | 作用 | | :- | :- | |.venv/| 项目级虚拟环境bin/存放可执行文件lib/存放已安装的库pyvenv.cfg记录解释器与虚拟环境配置 | |.python-version| 声明项目使用的 Python 版本uv 在解析与运行时会优先遵循 | |README.md| 项目说明文档 | |main.py| 默认生成的主程序入口uv init会写入一个 Hello World 示例 | |pyproject.toml| 项目元信息与依赖声明的核心配置uv 以此为准进行解析 | |uv.lock| 由 uv 自动生成的跨平台锁定文件记录每个依赖的精确版本与来源保证团队协作可复现 |其中pyproject.toml是 uv 工作的枢纽初始化后的骨架大致如下[project] name project_name version 0.1.0 description Add your description here readme README.md requires-python 3.12 dependencies []首次执行uv add或uv run时uv 会按.python-version/requires-python自动创建.venv无需手动执行python -m venv。管理项目依赖uv 将依赖的声明、安装、锁定、更新统一收敛到uv add/uv remove/uv lock三个命令上全部基于pyproject.tomluv.lock驱动。添加依赖uv add requests执行后 uv 会解析依赖树把requests写入pyproject.toml的dependencies列表安装到.venv并将精确解析结果写入uv.lock。指定依赖版本或替代来源# 指定版本 uv add requests2.28.1# 指定来源 uv add githttps://github.com/psf/requests版本约束支持、、~等 PEP 440 语法建议用单引号包裹以免 shell 对、等符号做特殊解释来源可以是指向 Git 仓库的 URL如githttps://...也可以配合--rev、--tag等参数固定具体提交或标签适用于尚未发布到 PyPI 的内部依赖。从 requirements.txt 迁移uv add -r requirements.txt-r会把requirements.txt中已有的依赖逐条导入pyproject.toml并完成解析锁定是存量 pip 项目切换到 uv 时的标准迁移入口。迁移完成后即可删除requirements.txt改由uv.lock承担可复现安装职责。删除一个包uv remove requests从项目依赖中移除指定包同时更新pyproject.toml与uv.lock。若想删除后同步生效的虚拟环境可在其后执行uv sync。升级一个包uv lock --upgrade-package requests只针对requests重新解析并升级其他依赖的锁定版本保持不变uv lock --upgrade则可一次性升级全部依赖。升级后运行uv sync即可将新版本安装进虚拟环境。uv.lock是最终可复现的安装依据团队成员拉取代码后执行uv sync即可得到与提交者完全一致的依赖环境。运行脚本uv run是 uv 的日常入口它会在首次运行时自动创建并同步虚拟环境随后在项目环境中执行目标命令。指定脚本运行uv run main.py指定 Python 版本运行uv run --python 3.10 main.py不带--python时uv 遵循.python-version与pyproject.toml中的requires-python选择解释器--python 3.10可临时指定版本若本机未安装对应解释器uv 会自动下载所需版本无需手动管理。uv run也可以直接运行项目内已安装的命令行工具如uv run pytest并保证其运行在与项目依赖一致的虚拟环境中。构建项目uv build构建结果存储在dist目录下默认同时产出 wheel.whl与源码包sdist.tar.gz两种分发格式若只需其一可用--wheel或--sdist参数单独构建。构建前请确保pyproject.toml的[build-system]与[project]元信息完整uv 会调用其中声明的后端完成打包。延伸uv 命令体系速览除上述核心命令外uv 还提供一组与既有工具链平行的子命令便于逐步替换传统工作流| 命令 | 用途 | 对应传统工具 | | :- | :- | :- | |uv venv| 单独创建虚拟环境如uv venv .venv |python -m venv| |uv pip install/uv pip freeze| 兼容 pip 风格的命令接口便于脚本迁移 |pip| |uv python install 3.12| 下载并管理项目所需的 Python 解释器版本 |pyenv| |uv sync| 按uv.lock将依赖同步安装到虚拟环境 |pip-sync| |uv tool install pkg| 在隔离环境中安装并暴露 CLI 工具 |pipx|从源码结构看uv 的命令被设计为项目级init/add/run/build与环境级venv/pip/python/tool两大体系前者围绕pyproject.toml组织项目生命周期后者提供与 pip / pipx / pyenv 对等的底层能力开发者可以按需混用、渐进迁移。在 reference 仓库中的定位本文是当前仓库技术速查清单Cheat Sheets体系中的一篇收录于 docs/uv.md并在 README.md 的 Python 分类中与 pip、Conda 等条目并列。阅读时可与之对照pip备忘清单侧重于传统pip命令的逐条速查安装、版本控制、依赖文件、镜像源本文则聚焦 uv 以pyproject.toml为核心的现代项目管理流程两者分别覆盖既有环境的命令行操作与新项目的声明式管理两种场景。若需要进一步了解pyproject.toml中各字段的细节可参考 package.json.md 所体现的项目元信息管理思路。【免费下载链接】reference面向开发者的技术速查清单Cheat Sheets集合整理常见技术、工具与开发流程帮助快速查阅关键信息提高开发效率。项目地址: https://gitcode.com/GitHub_Trending/referen/reference创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表