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

uv - 一个现代化的项目+环境管理工具

参考: 【uv】Python迄今最好的项目管理+环境管理工具(吧?)_哔哩哔哩_bilibili

项目需求

想象,每次创建一个项目的时候,我们需要去写 README. md, .git 仓库, .gitignore,你会感觉很头大

对于 conda 而言,安装速度慢,让人头疼,而 uv 基于 rust 实现,速度快的飞起:
image 1

对于虚拟环境而言,我们想要导出我们的环境配置,则需要每次都用到 pip freeze > requirement.txt,这无疑很麻烦,而使用 uv 则只需要对方给你同步 pyproject. toml 即可

使用方法

Installation: pip install uv

初始化项目uv init my_project
初始化后我们可以发现默认创建了几个文件:
PixPin 2025 05 22 22 55 46

  1. .python-version 是指定的 python 版本
  2. pyproject.toml 包含了项目元数据,以及要用到的环境依赖

管理环境

管理 python 版本

下载 python 版本: uv python install python_version
E.g. uv python install 3.8 3.11

切换 python 版本: uv python pin python_version
E.g. 切换到 3.11 版本 uv python pin 3.11
PixPin 2025 05 22 23 27 30 1

添加依赖
uv add package_name
运行项目
uv run main.py
同步环境
uv sync

E.g. 一个简单的添加 requests 依赖并运行的 demo
PixPin 2025 05 22 23 01 46
PixPin 2025 05 22 23 02 48


有时候,我们想要临时运行一个程序,又不想放到环境中,则在命令后加个 x,即是 uvx
E.g. uvx pytest

有时候,我们只拿到了源码,但是没有给出 requirments 文件,同时我们又不想这时候我们可以使用 uv init --script filename.py 这个参数 :
uv 会在文件首生成一些 metadata,我们在其中指定好我们的依赖:
PixPin 2025 05 23 11 04 56
然后再执行 uv run main.py 就可以正常执行了,同时也不会创建虚拟环境


管理命令行工具

有时候,我们用到的一些工具可能是全局使用的,比如 pytest,这时候我们不想为单独的虚拟环境添加这个包,所以我们应该在全局上安装:
uv tool install package_name
比如安装 pytest: uv tool install pytest
卸载: uv tool uninstall package_name

安装好后 不用加 uv 前缀,直接使用包即可:
PixPin 2025 05 22 23 07 13

相关文章:

  • Git教程
  • 自制操作系统day10叠加处理
  • C++(初阶)(十九)——红黑树
  • MongoDB配置SSL
  • PCB板镀金与镀镍工艺有什么区别?优质镀镍钯金PCB工厂
  • react native搭建项目
  • gitlab占用内存 优化
  • 【数据架构07】数据智能架构篇
  • 跨平台三维可视化与图形库.VTK图形库.
  • 功率电感的参数
  • 安装 tensorflow-2.10.0 支持 gpu
  • debug一个cpu频率一直最低的问题
  • 的卢导表:简单易用的数据库同步工具
  • 科技化企业展厅需关注哪些前沿技术?互动设计如何提升用户体验?
  • CMake创建C++项目与npm创建nodejs项目异曲同工
  • MyBatis-Plus 中 QueryWrapper 的 Limit 实现
  • paddle 打包代码 ocr
  • 知道不知道
  • CSS 列表样式完全解析:从 ul/ol 基础到自定义样式
  • qt出现launching debugger,运行失败
  • 信息网络设计/上海百度推广优化排名
  • 不同类型的购物网站/哈尔滨百度网站快速优化
  • 专业做网站套餐/长沙营销型网站建设
  • wordpress产品目录插件/官网seo是什么意思
  • 郑州企业型网站建设/网站排名top排行榜
  • 开了个网站用年份做名字好吗/网络营销的成功案例有哪些