Python uv常用命令及使用详解
一、uv简介
1.1 什么是uv
uv是由Astral开发的极速Python包管理器和项目管理工具,旨在替代传统的pip、pipenv、poetry等工具。它用Rust编写,提供了依赖解析、包安装、虚拟环境管理、项目打包等一站式功能。
1.2 uv的核心优势
极致速度:依赖解析和安装速度比pip快10-100倍,比Poetry快5-10倍
完整功能:集成依赖管理、虚拟环境、打包发布等全流程功能
兼容性:支持标准Python项目结构,兼容pip的requirements.txt格式
简洁设计:命令行接口直观,学习成本低
离线支持:可缓存依赖包,支持离线安装
1.3 安装方法
1.3.1 官方安装脚本(推荐)
Linux/macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows (PowerShell)
irm https://astral.sh/uv/install.ps1 | iex
1.3.2 包管理器安装
Homebrew (macOS/Linux)
brew install uv
Scoop (Windows)
scoop install uv
Cargo (Rust包管理器)
cargo install uv --locked
1.3.3 验证安装
uv --version
输出示例:uv 0.1.30 (a1b2c3d4 2024-05-20)
二、核心命令详解
2.1 项目初始化
2.1.1 创建新项目
初始化新Python项目
uv init my_project
cd my_project
初始化当前目录为项目
uv init .
初始化后生成的项目结构:
plaintext
my_project/
├── pyproject.toml # 项目配置和依赖清单
├── .gitignore # Git忽略文件
└── README.md # 项目说明文档
pyproject.toml示例内容:
toml
[
project
]
name = "my_project"
version = "0.1.0"
description = ""
authors = [
{
name = "Your Name", email = "you@example.com" },
]
dependencies = []
requires-python = ">=3.8"
readme = "README.md"
2.1.2 指定Python版本
uv init --python 3.11 my_project # 指定Python 3.11
uv init --python /usr/bin/python3 # 指定Python解释器路径
2.2 依赖管理
2.2.1 添加依赖
# 添加生产依赖
uv add requests # 最新版本
uv add numpy==1.26.0