0%

UV工具的安装与使用

什么是uv工具

uv 是一个用于 Python 包管理的现代工具,它旨在替代 pipvirtualenv,提供更快、更高效的包安装与虚拟环境管理体验。uv 是由 Astral 团队开发的,并逐渐成为 Python 社区中的一个热门替代工具。

简而言之,uv 是一个 超快的 Python 包管理器,它集成了:

  • 包安装(替代 pip
  • 虚拟环境管理(替代 virtualenv
  • 锁定文件(兼容 pip-toolsPoetry

uv的优势

  • 🚀 极快的安装速度:基于 Rust 实现,速度比 pip 快上几十倍

  • 📦 自动创建虚拟环境:类似 Poetry,无需手动激活

  • 🔐 锁定依赖:生成 uv.lock 文件,确保可重复构建

  • 🐍 兼容性强:兼容 pyproject.toml,无缝对接现有项目

  • 📁 缓存机制优秀:充分利用缓存,加快安装流程

uv工具快速使用

以下是快速上手 uv 的步骤:

安装 uv

Linux操作系统可以使用以下命令安装

1
curl -Ls https://astral.sh/uv/install.sh | bash

如果电脑中安装过Python,可以直接使用pip命令安装:

1
pip install uv

初始化项目

在桌面创建一个空文件夹uv_test

image-20250417180502853

打开文件夹,右键文件夹空白处,点击在终端打开

image-20250417180525916

输入uv init即可初始化uv工程。

1
uv init

image-20250417180621322

uv工程默认会生成4个文件:

.python-version:记录当前工程的Python版本。

main.py:主脚本。

pyproject.toml:记录当前uv工程的依赖情况。

README.md:工程的说明文件。

生成虚拟环境

使用以下命令可以为项目初始化一个Python虚拟环境,并且可以指定Python解释器版本。

1
uv venv --python 3.10

image-20250417181245476

你可以通过以下命令直接创建工程并指定python解释器版本。

1
uv init uv_test -p 3.10

激活虚拟环境

输入以下命令即可激活虚拟环境

1
.\.venv\Scripts\activate

image-20250417181358365

下载第三方库

1
uv add pandas opencv-python

image-20250417181502610

输入命令uv tree,可以查看当前虚拟环境中的依赖树

1
uv tree

image-20250417181541837

可以看到前面安装的pandasopencv都安装成功了。

卸载第三方库

例如,卸载pandas库,使用以下命令

1
uv remove pandas

image-20250417181657976

再次查看依赖树

1
uv tree

image-20250417181719673

可以看到pandas库已经被卸载。

执行命令

初始化uv工程时,它会自动创建一个主脚本main.py,使用以下命令执行Python脚本。

1
uv run main.py

image-20250417182312761

uv的其他基本命令

uv pip

uv工具中也有pip功能可以调用,通过uv pip进行调用,例如下载pandas库,也可以使用pip

1
uv pip install pandas

image-20250417181900514

通过pip下载的内容,需要使用以下命令查看依赖列表。

1
uv pip list

image-20250417181958953

如果你不适应uv的命令,你也完全可以通过uv pip的方式去调用pip工具的相关命令,它比原生的pip命令更为高效。

uv sync

每个uv工程中都有一个pyproject.toml文件,用于记录该工程的依赖环境。每次使用uv命令去下载或者修改依赖都会造成pyproject.toml文件的变化。

在使用别人的uv工程时,可以通过uv sync命令一键克隆其环境依赖(包含Python版本)。

注意:使用uv pip安装的依赖,不会记录在pyproject.toml文件中。

uv python

uv可以提前缓存多个版本的python解释器,通过以下命令进行查看并安装。

1
2
# 显示当前已经安装的和可供安装的Python版本
uv python list

image-20250417182813189

已经安装好的,在输出结果中会呈现蓝色。

1
2
# 你可以提前缓存python指定版本,这样后续在其他项目中安装Python环境时,不需要下载。
uv python install 3.10 3.11 3.12

image-20250417183002601

1
2
# 卸载缓存的指定Python版本
uv python uninstall 3.12

image-20250417183038541

1
2
3
# 切换当前工程的Python版本
uv python pin 3.11
uv sync

image-20250417184402723

此命令只会先修改.python-version文件内容,如果要更新Python解释器文件,则需要执行uv sync,因为修改了Python版本,对应的依赖也需要跟也Python版本去重新更新。

-------------本文结束感谢您的阅读-------------