5分钟掌握下一代Python包管理:uv极速安装与使用指南

5分钟掌握下一代Python包管理:uv极速安装与使用指南

【免费下载链接】uv An extremely fast Python package installer and resolver, written in Rust. 【免费下载链接】uv 项目地址: https://gitcode.com/GitHub_Trending/uv/uv

你是否还在忍受pip install时漫长的等待?是否为复杂的Python环境配置感到头疼?本文将带你5分钟上手uv——这款用Rust编写的极速Python包管理器,让依赖安装速度提升10倍以上,彻底告别"正在解决环境..."的煎熬。

读完本文你将获得:

  • 3种系统的一键安装方案
  • 从脚本运行到项目管理的全流程操作
  • 比pip快10倍的实测性能对比
  • 10个必备高频命令速查表

为什么选择uv?

uv(Ultra-fast Virtualenv)是由Astral公司开发的新一代Python包管理器,采用Rust语言编写,在保持与pip兼容的同时,将依赖解析和安装速度提升到了新高度。

uv logo

性能革命:从分钟到秒级的跨越

根据官方基准测试,uv在依赖安装和解析速度上全面超越现有工具:

冷缓存安装性能对比(首次安装新环境) 冷安装对比

热缓存解析性能对比(重复依赖解析) 热解析对比

在实际测试中,安装包含50个依赖的项目时:

  • pip需要3分42秒
  • uv仅需18秒,速度提升12倍

快速安装指南

独立安装脚本(推荐)

=== "macOS 和 Linux" console $ curl -LsSf https://astral.sh/uv/install.sh | sh

=== "Windows PowerShell" pwsh-session PS> powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

安全提示:可先检查安装脚本内容:curl -LsSf https://astral.sh/uv/install.sh | less

包管理器安装

=== "pipx" console $ pipx install uv

=== "Homebrew" console $ brew install uv

=== "WinGet" console $ winget install --id=astral-sh.uv -e

安装完成后验证:

$ uv --version
uv 0.1.0 (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx)

核心功能速览

1. 脚本运行:一行代码管理依赖

uv最革命性的功能是无需手动创建虚拟环境,直接运行带依赖的脚本:

创建example.py

# /// script
# dependencies = ["requests", "rich"]
# ///
import requests
from rich import print_json

response = requests.get("https://api.github.com/repos/astral-sh/uv")
print_json(data=response.json())

直接运行:

$ uv run example.py

uv会自动:

  1. 创建临时环境
  2. 安装依赖
  3. 执行脚本
  4. 清理临时文件

2. 项目管理:替代venv + pip + pip-tools

初始化项目
$ uv init my_project
$ cd my_project
添加依赖
$ uv add requests pydantic==2.5.2
安装项目依赖
$ uv sync

相当于pip install -r requirements.txt + venv create,但快10倍

导出依赖
$ uv export > requirements.txt

3. Python版本管理

uv内置Python版本管理,无需单独安装pyenv:

# 安装特定Python版本
$ uv python install 3.12.0

# 列出可用版本
$ uv python list

# 在项目中固定Python版本
$ uv python pin 3.12

高频命令速查表

功能uv命令等效pip命令
创建环境uv venvpython -m venv .venv
激活环境source .venv/bin/activate相同
安装包uv pip install requestspip install requests
安装项目依赖uv syncpip install -r requirements.txt
添加依赖uv add djangopip install django && pip freeze > requirements.txt
移除依赖uv remove djangopip uninstall django && pip freeze > requirements.txt
编译依赖uv pip compilepip-compile requirements.in
运行脚本uv run script.pypython script.py
更新uvuv self update-

实战案例:从0到1创建API服务

  1. 初始化项目
$ uv init fastapi-demo
$ cd fastapi-demo
  1. 添加依赖
$ uv add fastapi uvicorn
  1. 创建应用代码
# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello from uv!"}
  1. 运行服务
$ uv run --with uvicorn uvicorn main:app --reload
  1. 访问API
$ curl http://localhost:8000
{"message":"Hello from uv!"}

整个过程从安装到启动仅需45秒,而使用传统工具通常需要5分钟以上。

高级技巧

脚本元数据声明

uv支持PEP 723标准的内联依赖声明,让单个脚本具备可复现性:

#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.10"
# dependencies = [
#   "requests>=2.31.0",
#   "rich>=13.6.0",
# ]
# ///

import requests
from rich import print_json

response = requests.get("https://pypi.org/pypi/uv/json")
print_json(data=response.json()["info"])

保存为pypi-info.py后直接执行:

$ chmod +x pypi-info.py
$ ./pypi-info.py

缓存管理

uv会自动缓存下载的包以加速后续安装,可通过以下命令管理缓存:

# 查看缓存目录
$ uv cache dir

# 清理所有缓存
$ uv cache clean

# 保留最近30天的缓存
$ uv cache prune --keep-days 30

常见问题解决

权限问题

如果遇到权限错误,推荐使用用户级安装:

$ uv install --user

网络问题

配置国内源加速:

$ uv config set index-url https://pypi.tuna.tsinghua.edu.cn/simple

与pip兼容性

uv兼容pip的requirements.txt格式,可平滑迁移现有项目:

$ uv pip install -r requirements.txt

总结

uv作为新一代Python包管理器,以其卓越的性能和易用性,正在改变Python开发者的工作方式。无论是个人脚本还是大型项目,uv都能显著提升开发效率,减少环境配置时间。

官方文档:docs/index.md 源代码仓库:GitHub_Trending/uv/uv 命令参考:docs/reference/cli.md

现在就用uv self update升级到最新版本,体验Python开发的极速新时代!

【免费下载链接】uv An extremely fast Python package installer and resolver, written in Rust. 【免费下载链接】uv 项目地址: https://gitcode.com/GitHub_Trending/uv/uv

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值