uv

uv 是一个 Python 包管理和虚拟环境工具。我用了一下觉得非常方便,特将使用流程记录如下:

创建项目

首先根据需要的项目名称,执行

uv init project_name

会生成一系列项目文件。包括主程序maim.py,以及版本控制和环境设置的文件。

创建虚拟环境

为了避免多个项目冲突,把各个项目的库文件隔离,建议创建虚拟环境。执行

cd project_name
uv venv

默认路径为 .venv
注:也可以uv venv --python 3.11,会自动安装并创建相应版本的虚拟环境。

添加/删除包

根据项目需要,添加/删除库文件,执行

uv add package_name
uv remove package_name

会把用到的包信息记录在pyproject.toml文件中。
注:如果这个包只在开发环境下使用,使用uv add --dev package_name,则发布时不会把它打包进去。

依赖

要查看包之间的依赖关系,执行

uv tree

会用树状列出依赖关系。

同步

在其他电脑可以下载该项目后,需要同步用到的库文件等环境,执行

uv sync

会把相应的包安装到虚拟环境下。

更新

需要更新项目的库文件时,执行

uv sync --upgrade

会自动修改uv.lock文件的版本信息。

运行

在运行时,不再需要进入虚拟环境,只需要执行

uv run main.py

就会自动调用虚拟环境,无需手动激活。这一步真的非常方便。

工具

对于全局性工具,比如 pytest 所有项目都可能涉及,就最好把它作为工具安装,执行

# 安装
uv tool install pytest
# 卸载
uv tool uninstall pytest
# 查看
uv tool list
# 升级
uv tool upgrade pytest  # 升级单个包
uv tool upgrade --all  # 全部升级

就可以在全局直接运行 pytest。

此外,其他操作我暂时还是按照原本的使用习惯。今后使用中如果发现uv有更合适替代操作的再来补充。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注