Python现代项目开发之uv安装配置与最佳实践指南

 更新时间:2026年03月11日 09:01:18   作者:高并发吃面  
uv 是由 Astral 公司开发的 Rust 编写的 Python 工具链,核心优势是极速,功能全面,下面小编就和大家详细介绍一下uv安装配置与最佳实践

一、uv 是什么?

uv 是由 Astral 公司开发的 Rust 编写的 Python 工具链,核心优势是极速(比 pip 快 10-100 倍)、功能全面,集成了包安装、虚拟环境管理、依赖解析、项目构建等能力,兼容 pip/pipenv/poetry 的生态。

  • uv 官方文档(最核心):这是 uv 最权威的使用指南,包含安装、基础用法、进阶功能、API 参考等所有内容,也是排查问题的首选。
  • uv GitHub 源码仓库:可以查看源码、提交 Issue(反馈问题)、提 PR(贡献代码),也能在 Releases 页面下载指定版本的 uv 安装包,查看更新日志。
  • uv 快速入门教程:官方专为新手设计的快速上手指南,比完整文档更精简,适合刚接触 uv 时快速掌握核心用法。

二、uv 的安装

1. 通用安装方式(推荐)

适用于 macOS、Linux、Windows(PowerShell),执行以下命令自动下载适配系统的版本:

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

# Windows (PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

2. 包管理器安装(可选)

Homebrew (macOS/Linux)

brew install uv

Cargo (Rust 环境)

cargo install uv --locked

pip 安装(不推荐,仅应急)

pip install uv

3. 验证安装

安装完成后,重启终端,执行以下命令验证:

uv --version
# 输出示例:uv 0.1.37 (a1b2c3d 2026-03-03)

三、uv 核心使用场景

1. 基础包安装/卸载

uv 兼容 pip 的大部分用法,且默认使用虚拟环境(无需手动激活),核心命令如下:

功能uv 命令说明
安装包uv pip install requests极速安装单个包
安装指定版本uv pip install requests==2.31.0安装特定版本
从 requirements.txtuv pip install -r requirements.txt批量安装依赖,速度远快于 pip
升级包uv pip install --upgrade requests升级包到最新版本
卸载包uv pip uninstall requests卸载包
查看已安装包uv pip list列出当前环境的包
导出依赖uv pip freeze > requirements.txt导出已安装包到文件

2. 虚拟环境管理

uv 内置虚拟环境功能,比 venv 更简洁:

# 创建虚拟环境(默认在 .venv 目录)
uv venv
# 激活虚拟环境
# macOS/Linux
source .venv/bin/activate
# Windows (Cmd)
.venv\Scripts\activate.bat
# Windows (PowerShell)
.venv\Scripts\Activate.ps1
# 删除虚拟环境
rm -rf .venv  # macOS/Linux
rmdir /s .venv  # Windows

3. 项目依赖管理(兼容 pyproject.toml)

uv 支持现代 Python 项目的 pyproject.toml 配置,替代 requirements.txt

# 初始化项目(生成 pyproject.toml)
uv init my_project
cd my_project
# 添加依赖(自动写入 pyproject.toml)
uv add requests  # 生产依赖
uv add --dev pytest  # 开发依赖
# 安装项目所有依赖(从 pyproject.toml)
uv install
# 同步依赖(移除未在 pyproject.toml 中声明的包)
uv sync

4. 运行 Python 代码/脚本

uv 可直接运行代码,自动使用当前虚拟环境:

# 运行脚本
uv run script.py
# 运行临时代码
uv run -c "print('Hello, uv!')"
# 运行模块
uv run -m http.server 8000

四、进阶用法

加速 pip 兼容:如果项目暂时不想切换到 uv 命令,可通过 uv 加速 pip:

uv pip install requests  # 等同于 pip install,但更快

指定 Python 版本uv 可自动下载指定版本的 Python(需提前安装 pyenvuv 内置的 Python 解析器):

uv python install 3.11  # 安装 Python 3.11
uv run --python 3.11 script.py  # 使用 3.11 运行脚本

缓存管理uv 有全局缓存,清理缓存命令:

uv cache clean  # 清理所有缓存

总结

  • uv 是高性能的 Python 包/环境管理工具,安装简单,兼容 pip/venv 生态,核心优势是速度快、功能集成度高。
  • 核心用法:uv pip install(安装包)、uv venv(虚拟环境)、uv add(管理项目依赖)、uv run(运行代码)。
  • 推荐在新项目中使用 uv init + pyproject.toml 替代传统的 requirements.txt,提升依赖管理规范性。

到此这篇关于Python现代项目开发之uv安装配置与最佳实践指南的文章就介绍到这了,更多相关Python uv项目安装配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简单介绍Python的Django框架加载模版的方式

    简单介绍Python的Django框架加载模版的方式

    这篇文章主要介绍了Python的Django框架加载模版的方式,包括一些对加载顺序的介绍,需要的朋友可以参考下
    2015-07-07
  • python对url格式解析的方法

    python对url格式解析的方法

    这篇文章主要介绍了python对url格式解析的方法,涉及Python针对URL解析的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python 合并多个excel中同名的sheet

    python 合并多个excel中同名的sheet

    这篇文章主要介绍了python 如何合并多个excel中同名的sheet,帮助大家更好的利用python处理excel表格,感兴趣的朋友可以了解下
    2021-01-01
  • Python + OpenCV 实现LBP特征提取的示例代码

    Python + OpenCV 实现LBP特征提取的示例代码

    这篇文章主要介绍了Python + OpenCV 实现LBP特征提取的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 跟老齐学Python之再深点,更懂list

    跟老齐学Python之再深点,更懂list

    对于list,由于她的确非常非常庞杂,在python中应用非常广泛,所以,虽然已经介绍完毕了基础内容,这里还要用一讲深入一点点,往往越深入越...
    2014-09-09
  • Python使用gmplot创建动态地图可视化

    Python使用gmplot创建动态地图可视化

    gmplot 是一个 Python 库,用于基于 Google Maps 的静态地图生成可视化,它提供简单的 API 来绘制标记、路径、热力图等地理信息数据,本文给大家介绍了如何使用 gmplot 在 Python 中创建动态地图可视化,需要的朋友可以参考下
    2024-12-12
  • Python实现的在特定目录下导入模块功能分析

    Python实现的在特定目录下导入模块功能分析

    这篇文章主要介绍了Python实现的在特定目录下导入模块功能,结合实例形式分析了Python基于系统函数及import语句实现模块导入的相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • 利用Python编写一个闹钟,治好你的拖延症

    利用Python编写一个闹钟,治好你的拖延症

    起床真是令人困扰的事情,有的人根本不用定闹钟,但有的人提前半个小时闹钟都叫不醒。本文将分享利用Python编写的闹钟脚本,希望能治好你的拖延症
    2022-02-02
  • python编程实现随机生成多个椭圆实例代码

    python编程实现随机生成多个椭圆实例代码

    这篇文章主要介绍了python编程实现随机生成多个椭圆实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python实现非正太分布的异常值检测方式

    Python实现非正太分布的异常值检测方式

    今天小编就为大家分享一篇Python实现非正太分布的异常值检测方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论