【Python 第三方库】uv

2024-01-25 00:00:00

目录:

uv 模块介绍

uv 模块具有包管理、虚拟环境管理、Python 版本管理和项目初始化等多种功能,用于替代传统的 pip、virtualenv、pip-tools、poetry。

由于使用 Rust 编写,提升了 10 到 100 倍的性能。例如,安装 NumPy 和 Pandas 的组合,uv 在有缓存时仅需 0.5 秒,而无缓存时也只需 2.3 秒,远快于 pip 的 28 秒。

安装:

# MacOS / Linux
$ curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
$ irm https://astral.sh/uv/install.ps1 | iex

验证安装是否成功:

$ uv --version
uv 0.11.2 (02036a8ba 2026-03-26 aarch64-apple-darwin)

初始化项目

uv init 会在当前目录下生成项目结构,最好先创建一个空目录进行操作。

$ mkdir myapp
$ cd myapp
$ uv init

目录结构如下:

|-- myapp
    |-- .python-version     # 管理 python 版本号
    |-- project.toml        # 管理项目依赖
    |-- main.py     
    |-- README.md

管理依赖

使用 uv add 命令可以添加生产或开发依赖,并自动更新 pyproject.toml 和安装包。

# 添加生产依赖
$ uv add requests beautifulsoup4
# 添加开发依赖
$ uv add pytest --dev

使用 uv remove 卸载依赖,并自动更新 pyproject.toml 和安装包。

# 卸载生产依赖 
$ $ uv remove requests beautifulsoup4
# 卸载开发依赖
$ uv remove --dev pytest

uv sync 会根据 pyproject.toml 或 uv.lock 文件,创建或更新虚拟环境并安装所有依赖。
(类似于 pip install -r requirements.txt 功能)

运行项目

uv 可以管理 Python 版本,很方便测试不同 Python 版本新特性,在下一个标题会介绍。

运行项目不要用传统的 python main.py,而是用 uv run 命令,会去根据项目根目录下的 .python-version 中的 Python 版本号运行项目。

# 假设项目中有 main.py
$ uv run main.py

Python 版本管理

# 列出可安装的版本
$ uv python list
# 安装特定版本的 Python
$ uv python install 3.12

比如当前 uv 使用的 Python 版本是 3.12(直接查看 .python-version 文件中的版本号)

现在想切换使用 python 3.14 运行代码,只需将 .python-version 文件中的版本改成 3.14,然后使用 uv run main.py 运行代码,uv 会先自动切换 Python 3.14 版本再执行代码。

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: