跳转到内容
DJ 王大海
使用 UV 来管理使用 Python
开发工具

使用 UV 来管理使用 Python

UV 简明入门指南

DJDOG

3 min read


💡
本文是对 UV 的简明入门指南,旨在帮助用户快速上手使用 UV 来管理 Python 包和项目。如果你对 UV 感兴趣,可以访问 UV 官方文档 了解更多信息。

uv 是由 Astral 开发的一个极其快速的 Python 包和项目管理工具,使用 Rust 编写。它旨在统一和简化 Python 的包管理、项目管理、Python 版本管理等多个方面,提供类似于 Rust 语言中 Cargo 的功能。

主要功能

  • 包管理:uv 可以替代 pip、pip-tools 等工具,提供更高效的包安装和解析功能,速度提升可达 10 至 100 倍。
  • 项目管理:支持使用 pyproject.toml 文件管理项目依赖,生成跨平台的锁定文件,确保项目环境的一致性。
  • 工具管理:类似于 pipx,uv 可以在隔离的虚拟环境中安装和运行命令行工具,并支持一次性运行无需显式安装的命令。
  • Python 版本管理:uv 能够安装和管理不同版本的 Python,支持快速切换,简化 Python 版本的管理。
  • 脚本支持:uv 可以管理带有内联依赖元数据的单文件脚本,确保脚本在隔离的环境中运行,避免依赖冲突。

安装方法

独立安装程序

Mac 和 Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

包管理器安装

在 Windows 上更推荐使用 Scoop 来进行安装:

scoop install uv

如果不知道什么是 scoop 可以通过这篇文章来了解。

除了上面的方式以外,uv 还可以通过 PyPI 安装:

pipx install uv # 装到隔离环境里
pip install uv

使用指南

Python 版本管理

查看支持的 Python 版本

使用以下命令可以查看 uv 支持的 Python 版本:

uv python list

这将显示可用的 Python 版本列表,包括不同的主次版本。

安装特定版本的 Python

使用以下命令安装特定版本的 Python,例如安装 Python 3.13:

uv python install 3.13

这会下载并安装 Python 3.11 到 uv 的管理路径中。

切换 Python 版本

使用以下命令切换到某个已经安装的 Python 版本,例如 Python 3.13:

uv python pin 3.13

项目管理

初始化一个新项目

可以通过以下命令初始化一个名为 my_project 的项目

uv init my_project
cd my_project

可以得到一个这样的文件夹:

❯ tree  
.  
├── hello.py  
├── pyproject.toml  
└── README.md

其中 pyproject.toml 是这个 Python 项目中的配置文件,可以包含以下内容:

  1. [build-system]: 定义构建项目所需的系统和工具。
  2. [tool]: 配置各种工具的选项,如格式化工具、测试工具等。
  3. [project]: 描述项目的元数据,如项目名称、版本、描述等。

添加依赖

以添加依赖 requests 为例:

# 默认安装最新版本的依赖
uv add requests

# 安装指定版本的依赖
uv add [email protected]

这个命令会在 pyproject.toml 中的 dependencies 部分添加类似以下内容:

pyproject

[project]
name = "my-project"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
    "requests>=2.32.3"
]

当从已有的 pyproject.toml 恢复环境时,则需运行:

uv sync

删除依赖

以删除依赖 requests 为例:

uv remove requests

运行项目

以演示中所创建的 my_project 为例:

uv run hello.py

分享此文章

使用 UV 来管理使用 Python

UV 简明入门指南

DJ 王大海 https://djdog.cc

目录

DJ 王大海

比 Hello World 再进一步的折腾手记。

© 2026 DJ 王大海 All Rights Reserved.