现代 Python 开发:uv 安装、配置与最佳实践

现代 Python 开发:uv 安装、配置与最佳实践

目录

一、uv 是什么?

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

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

二、uv 的安装

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

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

# macOS/Linuxcurl-LsSf https://astral.sh/uv/install.sh |sh# Windows (PowerShell) powershell -c"irm https://astral.sh/uv/install.ps1 | iex"
2. 包管理器安装(可选)

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

pip install uv 

Cargo (Rust 环境)

cargoinstall uv --locked

Homebrew (macOS/Linux)

brew 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/Linuxsource .venv/bin/activate # Windows (Cmd) .venv\Scripts\activate.bat # Windows (PowerShell) .venv\Scripts\Activate.ps1 # 删除虚拟环境rm-rf .venv # macOS/Linuxrmdir /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

四、进阶用法

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

uv cache clean # 清理所有缓存

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

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

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

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

总结

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

Read more

Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

Go、Rust、Kotlin、Python 与 Java 从性能到生态,全面解读五大主流编程语言

文章目录 * 从性能到生态,全面解读五大主流编程语言 * 一、语言定位与设计哲学:为何而生? * 二、性能对比:谁更快?谁更省资源? * 性能维度拆解 * 性能对比表(基于典型 Web API 场景) * 性能实测案例(斐波那契数列第45项) * 三、并发模型:谁更适合高并发? * 并发模型对比 * 四、错误处理机制:如何应对失败? * 示例:读取文件内容 * 五、类型系统:静态 vs 动态,强类型 vs 弱类型 * 空安全对比(防 NPE) * 六、内存管理:GC vs 所有权 * Rust 的“所有权”机制详解 * 七、生态系统与社区活跃度 * 典型生态代表

By Ne0inhk
从 Python 地狱到 ComfyUI 成功启动:一次完整的 Windows AIGC 环境排错实录

从 Python 地狱到 ComfyUI 成功启动:一次完整的 Windows AIGC 环境排错实录

前言 在 Windows 平台部署 ComfyUI 时,很多用户都会遇到类似问题: Python 已安装、CUDA 驱动正常、显卡也能识别,但 ComfyUI 仍然无法正常启动,或在启动器与命令行之间反复报错。 这些问题往往并非某一步操作失误,而是 Python 版本不一致、CUDA 与 PyTorch 构建不匹配,以及启动器未正确使用虚拟环境 等因素叠加造成的结果。 本文将围绕 ComfyUI + 绘世启动器 的典型使用场景,系统梳理以下三个高频问题: * Python 多版本共存导致的环境错位 * CUDA / PyTorch 无法正确识别 GPU * 启动器与命令行运行环境不一致 并给出 可复现、可验证、适合新手操作的解决方案,帮助你在 Windows 环境下,先把 ComfyUI 的基础运行环境彻底跑稳。 本文聚焦基础python环境配置问题,插件与扩展相关内容将放在后续文章中单独说明。

By Ne0inhk
Python 实战:Boss 直聘职位信息爬虫开发全解析​

Python 实战:Boss 直聘职位信息爬虫开发全解析​

在求职和职场数据分析场景中,获取结构化的职位信息能为我们提供极大的便利 —— 无论是对比薪资水平、分析行业需求,还是研究企业招聘偏好,都需要可靠的数据源支持。本文将手把手教你用 Python 开发一个 Boss 直聘爬虫,通过监听网络请求的方式高效获取职位数据,并将结果保存为 Excel 文件。 一、开发前准备:环境与工具 在开始编码前,我们需要搭建好开发环境并明确核心依赖库的作用,确保后续开发过程顺畅。 1. 环境要求 * Python 3.8 及以上版本(推荐 3.10,兼容性更好) * 浏览器:Chrome 或 Edge(需与 Chromium 内核驱动版本匹配) 2. 核心依赖库 本文爬虫主要依赖 4 个关键库,可通过pip install 库名命令安装: * DrissionPage:一款强大的浏览器自动化工具,支持控制浏览器、监听网络请求,

By Ne0inhk
Python 流程控制完全指南:条件语句 + 循环语句 + 实战案例(零基础入门)

Python 流程控制完全指南:条件语句 + 循环语句 + 实战案例(零基础入门)

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 顺序语句:基础执行语句 * 二. 条件语句:实现 “如果… 否则…” 逻辑 * 2.1 核心语法格式 * 2.2 关键注意点 * 2.3 空语句 pass:占位符作用 * 2.4 练习题 * 三. 循环语句:实现 “重复执行” 逻辑 * 3.1 while 循环:条件满足就一直执行 * 3.2 for 循环:

By Ne0inhk