欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > uv - 一个现代化的项目+环境管理工具

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

2025/10/15 18:47:56 来源:https://blog.csdn.net/weixin_43720735/article/details/148159676  浏览:    关键词: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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词