前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >零帧起手,3个典型场景范例带你上手uv一站式环境管理~

零帧起手,3个典型场景范例带你上手uv一站式环境管理~

作者头像
lyhue1991
发布2025-03-18 19:25:50
发布2025-03-18 19:25:50
23800
代码可运行
举报
运行总次数:0
代码可运行

前方干货预警,这可能是你能够找到的最清晰最具实操性的uv环境管理保姆级教程,全部内容在jupyter环境下演示~ 以下是本文正文~

uv是一个现代化的一站式Python项目环境管理工具。

uv 使用Rust语言开发,速度杠杠的,热度正持续飙升中,github星星已超过40k,预估将来会完全代替掉pip/pyenv/poetry这些工具~

在我看来,uv具有如下3个主要优点:

⚫️ 非常快。 安装包时比pip快10~100倍。

⚫️ 兼容pip。 安装包时兼容pip语法,如uv pip install/uninstall numpy

⚫️ 一站式。 一个命令支持Python项目环境管理全流程功能。包括:包管理,项目管理,虚拟环境管理,Python版本管理,package发布,tool管理。

现在我主要用uv搞搞项目环境,然后大量借助copilot/cursor/trae这些AI编程工具搞搞代码。

综合使用 uv项目管理+AI代码编程 来搞Python项目,简直爽歪歪啊。

那么uv复杂吗?你可以说有些复杂,但是核心用法其实非常简单,对我来说,最高频的命令就如下5个。明白了它们的含义之后,就可以零帧起手,原地起飞~

代码语言:javascript
代码运行次数:0
运行
复制
uv pip install torch --system  
uv init project  
uv run main.py  
uv venv 
uv help  

下面是uv的核心应用场景解析,以及在jupyter notebook环境下演示 uv 的操作步骤代码范例。

〇,pip很好?为什么还要用uv?

有同学会说,pip很好啊,为什么还要用uv?

对我来说,uv主要解决了我的如下几个场景下的痛点。所以有它的独特价值。

1,pip安装慢的问题

有时候pip安装一个大点的依赖包如torch,可能要十几分钟(已经切换成国内源)。

然后还可能中间因为各种原因报错,uv因为是用rust写的,会快10到100倍。

体验好多了。

下面是无痛替换pip成uv对应的代码。

2,虚拟环境管理

有时候我们用pip安装了很多包,做不同类型任务的时候可能会因为依赖冲突导致有些库用不了了。

其实多弄几个python虚拟环境是很有必要的。

比如传统机器学习库lightgbm相关的一个环境ml, 视觉任务的一个环境cv, 自然语言处理的搞一个环境nlp.

这样能够防止一个崩掉其它的不受影响。极端情况下也可以删掉某个重开一个虚拟环境。

但是 pip 本身是不能做虚拟环境管理的,以前可能要借助pyenv, virtualenv这些工具。

现在 uv就可以做到,而且更快。

创建好的虚拟环境我们可以把它们注册到jupyter notebook的kernel,方便随时根据任务需要切换内核。

3,项目环境管理

如果我们要做一个比较大型的项目,针对这个项目来做一个项目环境是很有必要的。

项目相关的依赖都应该明明白白地写在项目的配置文件中,后面在不同的机器上也能够很快地搭建起这个环境。

很遗憾,pip也做不了这个功能。有个叫做poetry的库能做,但是比较慢。

现在,uv就能够更快更方便地帮我们做好项目的虚拟环境管理,并且可以用uv run 直接应用项目环境来跑代码,无需激活环境。

此外,uv也能够用uv build 和 uv publish 把项目打包和发布到pypi上.

一, 安装uv

可以使用pip安装uv

uv-help.png
uv-help.png

二,依赖包管理

下面范例演示使用 pip 安装pypi库的过程,--system表示是安装到系统默认Python环境。

uv安装库的速度真的飞快,一些大的包如pandas,torch,下载好了之后只要几秒钟就安装完了。

uv_install.png
uv_install.png

三,虚拟环境管理

下面的范例演示使用uv 创建虚拟环境,并将虚拟环境添加到jupyter kernel的操作过程。

很多时候解决环境问题最简单的方法就是隔离不同需求类型的项目的环境。

大家井水不犯河水,就不容易有包版本冲突。

1,创建虚拟环境

2,虚拟环境安装库

3,激活虚拟环境

4,添加到jupyter kernel

三,项目管理

下面演示uv的项目管理功能。如果你要做一个比较规范的项目,建议用uv init来完整地管理它的相关环境依赖。

项目相关的依赖都会明明白白地写在项目的配置文件中,后面在不同的机器上也能够很快地搭建起这个环境。

并且这个项目有独立的虚拟环境,不受到系统下Python环境的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法美食屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 〇,pip很好?为什么还要用uv?
    • 1,pip安装慢的问题
    • 2,虚拟环境管理
    • 3,项目环境管理
  • 一, 安装uv
  • 二,依赖包管理
  • 三,虚拟环境管理
    • 1,创建虚拟环境
    • 2,虚拟环境安装库
    • 3,激活虚拟环境
    • 4,添加到jupyter kernel
  • 三,项目管理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档