Python 包管理生态中存在多种工具,如 pip、pip-tools、poetry、conda 等,各自具备一定功能。
而今天介绍的uv 是 Astral 公司推出的一款基于 Rust 编写的 Python 包管理工具,旨在成为 “Python 的 Cargo”。
它提供了快速、可靠且易用的包管理体验,在性能、兼容性和功能上都有出色表现,为 Python 项目的开发和管理带来了新的选择
一、 如何安装
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
二、如何使用
首先,介绍uv工具主要使用的两个文件:
pyproject.toml:定义项目的主要依赖,包括项目名称、版本、描述、支持的Python版本等信息uv.lock:记录项目的所有依赖,包括依赖的依赖,且跨平台,确保在不同环境下安装的一致性。这个文件由uv自动管理,不要手动编辑
常用命令:
#换源,项目内pyproject.toml添加:
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
[tool.uv]
python-install-mirror = "https://registry.npmmirror.com/-/binary/python-build-standalone/"
#安装指定 Python 版本
uv python install 3.13.2
# 查看已安装和可安装的Python版本
uv python list
#设定要使用的版本,默认为最新
#也可以手动修改".python-version"文件
uv python pin 3.13.2
#依赖添加&移除-会自动修改pyproject.toml文件
uv add pandas
uv remove pandas
#兼容 pip 行为的方式,默认不修改pyproject.toml文件
uv pip install pandas
uv pip uninstall pandas
#运行
uv run hello.py
2.1 创建一个新项目
$ uv init myproject
Initialized project `myproject` at `D:\projects\python\myproject`
$ cd .\myproject\
$ ls
目录: D:\projects\python\myproject
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2024/12/27 12:06:08 109 .gitignore
-a---- 2024/12/27 12:06:08 5 .python-version
-a---- 2024/12/27 12:06:08 87 hello.py
-a---- 2024/12/27 12:06:08 155 pyproject.toml
-a---- 2024/12/27 12:06:08 0 README.md
2.2 初始化已有项目
#初始化
uv init --python 3.x
#requirements.txt转换成pyproject.toml
uv add -r requirements.txt
#同步项目依赖&下载合适的 Python 版本
uv sync







Comments 1 条评论
常用命令第 17 行写错了。
还有 conda 比 UV 好用。