新一代python环境管理工具UV

uv一个用 Rust 编写的极速 Python 包和项目管理工具。

UV工具简要说明

1. 工具效率对比

在这里插入图片描述

2.核心亮点

  • 🚀 一个工具替代 pip、pip-tools、pipx、poetry、pyenv、twine、virtualenv 等
  • 比 pip 快 10-100 倍
  • 🗂️ 提供全面的项目管理功能,包含通用锁文件
  • ❇️ 运行脚本,支持内联依赖元数据
  • 🐍 安装和管理 Python 版本
  • 🛠️ 运行和安装 以 Python 包形式发布的工具
  • 🔩 包含 pip 兼容接口,在熟悉 CLI 的同时获得性能提升
  • 🏢 支持 Cargo 风格的工作区用于可扩展项目
  • 💾 磁盘空间高效,通过全局缓存实现依赖去重
  • ⏬ 无需 Rust 或 Python 即可通过 curl 或 pip 安装
  • 🖥️ 支持 macOS、Linux 和 Windows
    uv 由 Astral 提供支持,他们是 Ruff 的创造者。

安装

使用官方独立安装程序安装 uv:

  1. macOS 和 Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    安装完成后,查看入门指南或继续阅读简要概述。

Tip
uv 也可以通过 pip、Homebrew 等方式安装。所有安装方法请参阅安装页面

uv使用示例

项目管理

uv 管理项目依赖和环境,支持锁文件、工作区等功能,类似于 rye 或 poetry:

# uv init example
# cd example
#u v add ruff
#uv run ruff check
# uv lock
#uv sync

查看项目指南开始使用。
uv 还支持构建和发布项目,即使这些项目不是用 uv 管理的。了解更多请参阅打包指南

脚本管理

uv 为单文件脚本管理依赖和环境。
创建新脚本并添加内联元数据声明其依赖:

echo 'import requests; print(requests.get("https://astral.sh"))' > example.py
uv add --script example.py requests

然后在隔离的虚拟环境中运行脚本:

uv run example.py

查看脚本指南开始使用。

工具

uv 可以执行和安装 Python 包提供的命令行工具,类似于 pipx。

使用 uvx(uv tool run 的别名)在临时环境中运行工具:
uvx pycowsay 'hello world!'

使用 uv tool install 安装工具:

uv tool install ruff

ruff --version

参考工具指南开始使用。

Python 版本

uv 可以安装 Python 并快速切换版本。

  • 安装多个 Python 版本:

uv python install 3.10 3.11 3.12

  • 按需下载 Python 版本:
uv venv --python 3.12.0
uv run --python pypy@3.8 -- python
  • 在当前目录使用特定 Python 版本:

uv python pin 3.11

参考安装 Python 指南开始使用。

pip 接口兼容

uv 提供了与常见 pip、pip-tools 和 virtualenv 命令完全兼容的替代方案。

uv 通过高级功能扩展了这些接口,包括依赖版本覆盖、跨平台解析、可复现的解析方案、替代解析策略等。

无需改变现有工作流即可迁移到 uv —— 通过 uv pip 接口体验 10-100 倍的速度提升。

将依赖编译为跨平台的需求文件:

uv pip compile docs/requirements.in \
   --universal \
   --output-file docs/requirements.txt

创建虚拟环境:

uv venv

安装锁定的依赖项:

uv pip sync docs/requirements.txt

查看pip 接口文档开始使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值