当前位置: 首页 > news >正文

『不废话』之Python管理工具uv快速入门

 在『不废话』之大模型推理超参数解释『不废话』之动手学MCP 中提到了uv,很多朋友都说没用过,咨询有什么优势?

通常Python新手都会使用conda、miniconda来管理Python环境,稍微高阶水平的会使用pyenv、poetry、virtualenv等工具来管理,但这些工具都有一个问题:慢!不简约!现在是时候了解一下uv了!由开发ruff的团队Astral打造,uv是一个用Rust编写的极速Python包安装器和解析器,旨在成为pippip-tools的直接替代品,并且还内置了虚拟环境管理功能。本文的目标就是——不废话,带你快速上手uv

为什么是 uv?

核心优势就两个字: 和 整合

  1. 极致速度: uv 使用Rust编写,并基于并行处理和智能缓存策略。根据官方数据和社区反馈,它在安装、解析依赖等场景下,比pip及其组合工具链(如 pip-tools快10-100倍。对于大型项目或CI/CD流程,这意味着节省大量时间。
  2. All-in-One: uv 不仅是包安装器 (pip 替代),还是虚拟环境管理器 (venv/virtualenv替代) 和依赖锁定工具 (pip-compile 替代)。一个工具搞定核心需求,命令更统一、简洁。

如果你受够了等待pip install或者管理多个工具链,uv值得一试。

https://docs.astral.sh/uv/

安装 uv

官方提供了多种安装方式,选择适合你的:

macOS 和 Linux (推荐):

# 通过 curl 安装
curl -LsSf https://astral.sh/uv/install.sh | sh# 或者,如果你使用 pipx (推荐管理Python应用)
pipx install uv

Windows (推荐):

# 通过 PowerShell 安装
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"# 或者,如果你使用 pipx
pipx install uv

其他方式:

也可以通过pipcondabrew等安装,详情参考官方文档。安装后,验证一下:

uv --version

快速上手

uv 的设计目标之一就是与pip的命令保持兼容性,降低学习成本。

项目初始化

uv init

这将创建 4个文件:

  • .python-version:指定项目的 Python  版本。
  • hello.py:一个简单的初学者脚本文件
  • pyporject.toml:配置项目依赖项、构建设置和元数据。
  • README.md:用于记录项目目的和用途的模板。

创建虚拟环境

uv venv或指定 Python 版本uv venv --python 3.12.3激活虚拟环境.venv\Scripts\activate

增加依赖库

uv add requests fastapi pandas numpy

依赖一旦添加,会自动创建一个名为 uv.lock 的文件。 uv.lock 文件用于记录有关项目依赖项及其确切版本的信息。这个文件非常有用,我在过去几年使用 pyenv 同步其他人的依赖库时,经常碰到依赖冲突问题,有时甚至奔溃到要一个一个尝试哪里出问题了。

移除依赖库

uv remove fastapi

同步依赖库

通常不会将虚拟环境提交到 Git 仓库中,可以使用如下命令来同步其他人的依赖库。可以不用考虑依赖冲突的问题,uv.lock文件会管理所有的版本依赖。

uv sync

执行脚本

uv run main.py

工具安装

uv tool install ruff

工具安装的概念就是将工具后就能像命令行工具一样使用了。  

一个简单的对比

uv vs. pip/venv

特性uvpip + venv/virtualenv + pip-tools
核心语言RustPython
速度极快 (10-100x)较慢
工具整合单一工具 (安装、环境、部分锁定)多个工具组合
缓存全局共享缓存,更高效pip有缓存,但机制不同
兼容性高度兼容pip命令,pyproject.toml标准工具链
成熟度新兴,快速发展中非常成熟,生态完善

uv 的主要优势在于速度整合带来的简洁性。虽然它很新,但由ruff背后强大的团队支持,发展迅猛,值得投入时间去尝试。

结语

uv 为Python开发者提供了一个极具吸引力的新选择,特别是对于那些追求效率和简洁工具链的人。它通过Rust实现了惊人的性能提升,并整合了包管理和虚拟环境的核心功能。"不废话"地说,如果你还没试过uv,现在就去安装体验一下吧,感受一下pip install瞬间完成的快感!

随着uv的不断发展,它很可能成为未来Python项目管理的主流工具之一。

下一步?

  • 访问 uv 官方文档: https://astral.sh/uv
  • 在你的下一个项目中尝试使用uv进行包管理。
  • 关注 Astral 的博客或GitHub,了解uv的最新进展。

希望这篇快速入门能帮你迈出使用uv的第一步!如果你有任何使用体验或问题,欢迎在评论区交流。干中学!

相关文章:

  • uv包管理器如何安装依赖?
  • 直播分享|TinyVue 多端实战与轻量图标库分享
  • 多头注意力(Multi‑Head Attention)
  • A2A + MCP:构建实用人工智能系统的超强组合
  • rlm.exe是什么
  • vue3:十一、主页面布局(修改左侧导航条的样式)
  • vue watch监听路由,第一次进入不触发解决办法
  • CLIP | 训练过程中图像特征和文本特征的在嵌入空间中的对齐(两个投影矩阵的学习)
  • vscode本地docker gdb调试python
  • Qt-托盘的实现
  • Qt信号槽连接的三种方法对比
  • 开源QML控件:进度条滑动控件(含源码下载链接)
  • 【得物】20250419笔试算法题
  • 高级java每日一道面试题-2025年4月22日-基础篇[反射篇]-如何通过反射创建一个对象实例?
  • ProxySQL 的性能优化需结合实时监控数据与动态配置调整
  • 实验一-密码学数学基础
  • 2025年4月22日(平滑)
  • lvgl 动画设计
  • 【第九章 Python学习之函数Ⅱ】
  • 【汽车ECU电控数据管理篇】S19文件格式解析篇章
  • 中国围棋协会将不组队参加今年的LG杯世界棋王赛
  • 美国务卿宣布将对美国务院进行全面重组
  • 中国泳协:新奥运周期竞争激烈,“三从一新”全力提升实力
  • 广电总局加快布局超高清视听产业链,多项成果亮相
  • 国家疾控局局长沈洪兵:将逐步缩小国内免疫规划与国际差距
  • 花3000元就能买“国际机构”的证书?揭秘假证产业链