使用 uv 管理 Python 环境

发布于 29 天前  0 次阅读


Python 包管理生态中存在多种工具,如 pippip-toolspoetryconda 等,各自具备一定功能。
而今天介绍的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 自动管理,不要手动编辑

常用命令:


#安装指定 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 uninstallpandas

#运行
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

#requirements.txt转换成pyproject.toml
uv add -r requirements.txt

#同步项目依赖&下载合适的 Python 版本
uv sync
希望赤诚善良的人,能被世界温柔以待
最后更新于 2025-07-31