python项目和环境管理工具 UV

用UV创建项目

使用命令:

bash 复制代码
uv init <项目名称>

即可创建项目。

通过uv init创建的项目自带gitignore等相关配置文件。

其中python-versionpyproject.tomlUV用来管理虚拟环境的关键。python-version指定这个项目使用的python版本;而pyproject.toml是项目的说明书,包含了项目的名称、版本、依赖等内容,相当于setup.pyrequirements.txt

用UV管理环境

UV不需要手动激活虚拟环境环境,会自动使用对应的程序。UV会根据pyproject.toml来管理项目的依赖。

使用UV安装依赖

bash 复制代码
uv add <包的名称>

虚拟环境创建好了,包也安装了。

pyproject.toml中的依赖也同步更新了。

并且通过uv add安装库比pip install速度更快。

使用UV运行程序

不需要激活虚拟环境,使用命令

bash 复制代码
uv run <文件名称>

uv run自动匹配了相应的环境。

使用UV重现项目环境

根据pyproject.toml中的依赖,可以以下命令重现项目的虚拟环境:

bash 复制代码
uv sync

创建了新的符合项目依赖的虚拟环境。

用UV管理命令行工具

多个项目会用到某些命令行工具,例如pytest进行测试。对此可以进行全局安装,而不是安装到项目环境中:

bash 复制代码
uv tool install <命令行工具>

创建临时虚拟环境

对于某些临时运行的脚本,不需要为它们单独创建虚拟环境,只需要在使用UV创建项目的命令添加--script参数:

bash 复制代码
uv init --script <脚本名称>

脚本文件内容会多了一些元数据。UV会根据这些元数据创建临时的虚拟环境来安装依赖,来运行脚本。

参考

【uv】Python迄今最好的项目管理+环境管理工具

相关推荐
Memory_荒年5 小时前
SpringBoot事务:从“一键开关”到“踩坑大全”的生存指南
java·后端·spring
PFinal社区_南丞5 小时前
一文讲透 .trae 文件夹 - Trae IDE 配置指南和最佳实践
后端
段小二6 小时前
Spring AI Agent 完整实战:Function Calling + RAG + Memory + SafeGuard 构建机票助手
后端
编码忘我6 小时前
Spring源码又看了一遍
后端
希望永不加班6 小时前
SpringBoot 主启动类解释:@SpringBootApplication 到底做了什么
java·spring boot·后端·spring
一只叫煤球的猫6 小时前
为什么不用 RAG 做记忆系统 ——压缩上下文与 memory.md 的架构选择
人工智能·后端·ai编程
智能工业品检测-奇妙智能6 小时前
国产化系统的性价比对比
人工智能·spring boot·后端·openclaw·奇妙智能
编码忘我6 小时前
java强引用、软引用、弱引用、虚引用
后端
蝎子莱莱爱打怪7 小时前
别再裸用 Claude Code 了!32 个亲测Skills + 8 个 MCP,开发效率直接拉满!
java·后端·claude
犯困的饭团7 小时前
4_【自动化引擎Ansible Runner】将 Runner 嵌入灵魂 - Python API 编程
后端