建湖县文章资讯

python uv常用命令使用及说明

2026-03-26 16:40:02 浏览次数:2
详细信息

Python UV 常用命令使用及说明

什么是 UV?

UV 是一个快速的 Python 包安装器和解析器,是 pip 和 pip-tools 的现代替代品,用 Rust 编写,速度极快。

安装 UV

# 使用 pip 安装
pip install uv

# 使用安装脚本(推荐)
curl -LsSf https://astral.sh/uv/install.sh | sh

# 在 Windows 上(使用 PowerShell)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

基本命令

1. 初始化项目

# 在当前目录初始化 Python 项目
uv init

# 指定项目名称
uv init my-project

2. 管理虚拟环境

# 创建虚拟环境(默认在 .venv 目录)
uv venv

# 指定虚拟环境名称
uv venv myenv

# 使用特定 Python 版本
uv venv --python 3.11

# 激活虚拟环境
# Linux/macOS
source .venv/bin/activate
# Windows
.venv\Scripts\activate

# 删除虚拟环境
uv venv --remove

3. 包管理

安装包
# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 安装单个包
uv pip install requests

# 安装指定版本
uv pip install "requests==2.31.0"

# 安装开发依赖
uv pip install -e ".[dev]"

# 安装 extras
uv pip install "package[extra1,extra2]"
生成 requirements.txt
# 生成 requirements.txt(包含所有依赖)
uv pip compile pyproject.toml -o requirements.txt

# 仅生成直接依赖
uv pip compile pyproject.toml --no-dev -o requirements.txt

# 生成带有哈希值的锁定文件
uv pip compile pyproject.toml --generate-hashes
升级包
# 升级所有包
uv pip install --upgrade -r requirements.txt

# 升级特定包
uv pip install --upgrade requests
卸载包
uv pip uninstall package_name

4. 项目管理

同步依赖
# 同步虚拟环境与 requirements.txt
uv pip sync requirements.txt

# 同步并升级
uv pip sync --upgrade requirements.txt
查看已安装包
# 列出所有已安装包
uv pip list

# 显示过时的包
uv pip list --outdated

# 显示依赖树
uv pip show package_name

5. 运行 Python 脚本

# 运行 Python 脚本
uv run python script.py

# 运行模块
uv run -m module_name

# 运行并传递参数
uv run python script.py arg1 arg2

6. 锁文件管理

# 生成锁文件
uv lock

# 从锁文件同步
uv sync

# 更新锁文件
uv lock --upgrade

高级用法

配置 UV

# 设置全局 Python 版本
uv python pin 3.11

# 设置镜像源
uv config set install.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 设置缓存目录
uv config set cache-dir /path/to/cache

性能优化

# 并行安装(默认启用)
uv pip install --parallel

# 禁用缓存
uv pip install --no-cache

# 清除缓存
uv cache clean

项目结构示例

my-project/
├── pyproject.toml    # 项目配置和依赖声明
├── uv.lock           # 锁文件(自动生成)
├── requirements.txt  # 依赖文件
├── .venv/           # 虚拟环境
└── src/
    └── app.py

pyproject.toml 示例

[project]
name = "my-project"
version = "0.1.0"
dependencies = [
    "requests>=2.28.0",
    "click>=8.0.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0.0",
    "black>=23.0.0",
]
test = [
    "pytest>=7.0.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

常用工作流

1. 新项目初始化

# 1. 创建项目
uv init myproject
cd myproject

# 2. 创建虚拟环境
uv venv

# 3. 激活环境
source .venv/bin/activate  # Linux/macOS
# 或
.venv\Scripts\activate    # Windows

# 4. 添加依赖
uv pip install requests pandas

# 5. 生成 requirements.txt
uv pip freeze > requirements.txt

2. 现有项目设置

# 1. 克隆项目
git clone project-url
cd project

# 2. 创建虚拟环境
uv venv

# 3. 安装依赖
uv pip install -r requirements.txt

# 4. 运行项目
uv run python main.py

3. 依赖更新工作流

# 1. 检查过时的包
uv pip list --outdated

# 2. 更新 requirements.txt
uv pip install --upgrade package_name

# 3. 生成新的 requirements.txt
uv pip freeze > requirements.txt

# 4. 重新同步环境
uv pip sync requirements.txt

注意事项

速度优势:UV 比传统 pip 快 10-100 倍 兼容性:完全兼容 pip 的命令和包生态系统 锁文件:uv.lock 确保依赖一致性 跨平台:支持 Windows、macOS 和 Linux Python 版本管理:可以管理多个 Python 版本

与 pip 命令对比

功能 UV 命令 pip 命令
安装包 uv pip install pip install
虚拟环境 uv venv python -m venv
依赖解析 uv pip compile pip-compile
环境同步 uv pip sync pip-sync
运行脚本 uv run python

UV 提供了更统一、更快速的 Python 项目管理体验,特别适合现代 Python 开发工作流。

相关推荐