现代 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

Java新手入门:从零开始安装JDK并配置环境变量

Java新手入门:从零开始安装JDK并配置环境变量

作者:默语佬 ZEEKLOG技术博主 原创文章,转载请注明出处 前言 作为一名Java程序员,相信很多小伙伴都经历过刚入门时的迷茫:“Java到底怎么学?从哪里开始?”,而安装JDK并配置环境变量就是迈向Java世界的第一步。 今天这篇文章,我就来手把手教大家从零开始安装JDK并配置环境变量。文章会配有详细的截图和步骤说明,即使你是完全的小白,也能轻松搞定! 阅读对象:Java新手、编程入门者、对Java感兴趣的同学 难度等级:⭐(入门级) 预计时间:30分钟 目录 1. JDK是什么?为什么要安装JDK? 2. JDK下载:选择合适的版本 3. JDK安装:一步步图形化安装 4. 环境变量配置:Windows系统配置 5. 验证安装:确认JDK安装成功 6. 常见问题及解决方案 7. 总结与下一步学习建议 JDK是什么?为什么要安装JDK? JDK的概念 JDK是Java Development Kit的缩写,

By Ne0inhk
Spring AI :Java 生态原生 AI 框架入门指南

Spring AI :Java 生态原生 AI 框架入门指南

在大模型席卷全球的技术浪潮下,Java 开发者们迫切需要一款贴合自身生态、低门槛接入 AI 能力的框架。Spring AI 的出现,恰好填补了这一空白 —— 它并非简单移植 Python 生态的现有方案,而是深度遵循 Spring 设计哲学,为 Java 和 Spring 开发者打造了原生的 AI 开发框架。本文将从 Spring AI 的核心概念、核心特性出发,结合实际环境搭建与首个对话案例,带大家快速上手这款框架,解锁 Java 生态与 AI 融合的全新可能。 一、什么是 Spring AI? Spring AI 是面向 Java 和 Spring 生态的原生人工智能框架,其核心设计理念完全传承自 Spring:依赖注入、POJO

By Ne0inhk

java_error_in_pycharm64.hprof 文件解析:作用、风险与处理建议

java_error_in_pycharm64.hprof 文件解析:作用、风险与处理建议 java_error_in_pycharm64.hprof 是 PyCharm 运行时发生 Java 虚拟机(JVM)错误时生成的“内存转储文件”,专门用于记录错误发生瞬间的 JVM 内存状态(如对象分布、线程信息、内存泄漏痕迹等),本质是 PyCharm 排查自身崩溃/异常的“调试日志文件”,而非系统核心文件或病毒文件。 一、先明确文件的核心作用:为什么会生成它? PyCharm 虽然是 Python 开发工具,但它的底层运行环境依赖 Java 虚拟机(JVM)(JetBrains 系列软件如 IntelliJ IDEA、WebStorm 均基于

By Ne0inhk
JavaCV 之均值滤波:图像降噪与模糊的权衡之道

JavaCV 之均值滤波:图像降噪与模糊的权衡之道

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。

By Ne0inhk