uv
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseuv
uv
Fast Python package and project manager with built-in virtual environment management.
一款快速的Python包和项目管理器,内置虚拟环境管理功能。
Project Setup
项目设置
bash
uv init my-app # App project
uv init my-lib --lib # Library project
uv init --script script.py # Standalone script
uv python pin 3.11 # Pin Python versionbash
uv init my-app # 应用项目
uv init my-lib --lib # 库项目
uv init --script script.py # 独立脚本
uv python pin 3.11 # 固定Python版本Dependencies
依赖管理
bash
uv add requests # Add dependency
uv add --dev pytest # Add dev dependency
uv add --optional ml scikit-learn # Add optional
uv remove requests # Remove dependency
uv tree # Show dependency tree
uv lock # Update lockfile only
uv export > requirements.txt # Export to requirements.txtbash
uv add requests # 添加依赖
uv add --dev pytest # 添加开发依赖
uv add --optional ml scikit-learn # 添加可选依赖
uv remove requests # 移除依赖
uv tree # 显示依赖树
uv lock # 仅更新锁定文件
uv export > requirements.txt # 导出到requirements.txtVirtual Environment
虚拟环境
bash
uv sync # Sync dependencies
uv sync --no-dev # Skip dev deps
uv sync --all-extras # Include all optional
uv sync --refresh # Recreate venvbash
uv sync # 同步依赖
uv sync --no-dev # 跳过开发依赖
uv sync --all-extras # 包含所有可选依赖
uv sync --refresh # 重新创建虚拟环境Running Code
运行代码
bash
uv run python script.py # Run script
uv run -m pytest # Run module
uv run --with requests script.py # Temp dependency
uv run --extra ml train.py # Use optional deps
uv run --env-file .env script.py # Load .envbash
uv run python script.py # 运行脚本
uv run -m pytest # 运行模块
uv run --with requests script.py # 临时依赖
uv run --extra ml train.py # 使用可选依赖
uv run --env-file .env script.py # 加载.env文件Python Management
Python版本管理
bash
uv python list # List versions
uv python install 3.12 # Install version
uv python pin 3.11 # Set project version
uv python upgrade --all # Upgrade allbash
uv python list # 列出版本
uv python install 3.12 # 安装版本
uv python pin 3.11 # 设置项目Python版本
uv python upgrade --all # 升级所有版本Tools
工具使用
bash
uvx ruff check . # Run tool once
uv tool install ruff # Install globally
uv tool list # List tools
uv tool upgrade ruff # Upgrade toolbash
uvx ruff check . # 一次性运行工具
uv tool install ruff # 全局安装工具
uv tool list # 列出工具
uv tool upgrade ruff # 升级工具Building & Publishing
构建与发布
bash
uv build # Build distributions
uv publish # Publish to PyPIbash
uv build # 构建发行版
uv publish # 发布到PyPIProject Versioning
项目版本控制
bash
uv version # Show current version
uv version 1.2.3 # Set version
uv version --bump major # Bump major version
uv version --bump minor # Bump minor version
uv version --bump patch # Bump patch versionbash
uv version # 查看当前版本
uv version 1.2.3 # 设置版本
uv version --bump major # 升级主版本号
uv version --bump minor # 升级次版本号
uv version --bump patch # 升级修订版本号Code Formatting
代码格式化
bash
uv format # Format Python code
uv format --check # Check formatting without changesbash
uv format # 格式化Python代码
uv format --check # 检查格式(不修改代码)Authentication
身份验证
bash
uv auth login # Login to package index
uv auth logout # Logout from package index
uv auth status # Show authentication statusbash
uv auth login # 登录包索引
uv auth logout # 登出包索引
uv auth status # 查看身份验证状态pyproject.toml
pyproject.toml
toml
[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.9"
dependencies = ["requests>=2.31.0"]
[project.optional-dependencies]
ml = ["scikit-learn>=1.0.0"]
[dependency-groups]
dev = ["pytest>=7.0.0", "ruff>=0.1.0"]toml
[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.9"
dependencies = ["requests>=2.31.0"]
[project.optional-dependencies]
ml = ["scikit-learn>=1.0.0"]
[dependency-groups]
dev = ["pytest>=7.0.0", "ruff>=0.1.0"]Tips
小贴士
- handles venv automatically
uv run - Commit for reproducibility
uv.lock - Use for one-off dependencies
--with - for running tools without install
uvx - in CI
uv sync --locked - Tools are isolated from project deps
- Fast: 10-100x faster than pip
- 会自动处理虚拟环境
uv run - 提交以保证环境可复现
uv.lock - 使用来添加一次性依赖
--with - 使用无需安装即可运行工具
uvx - 在CI中使用
uv sync --locked - 工具与项目依赖相互隔离
- 速度快:比pip快10-100倍