Skip to main content

🚀 uv 常用命令大全

📦 项目管理

创建项目

# 创建基本项目
uv init my-project

# 指定Python版本创建
uv init --python 3.11 my-project

# 创建应用项目(包含main.py)
uv init --app my-app

# 创建库项目
uv init --lib my-lib

# 在当前目录初始化
uv init .

依赖管理

# 添加依赖
uv add requests # 生产依赖
uv add pytest --dev # 开发依赖
uv add "fastapi>=0.100" # 指定版本
uv add --optional web fastapi # 可选依赖组

# 从文件添加依赖
uv add --requirements requirements.txt

# 移除依赖
uv remove requests
uv remove pytest --dev

# 安装所有依赖
uv sync # 根据lock文件安装
uv sync --dev # 包含开发依赖
uv sync --no-dev # 只安装生产依赖

🐍 Python版本管理

# 查看可用Python版本
uv python list
uv python list --only-installed

# 安装Python版本
uv python install 3.12
uv python install 3.11.8

# 查找Python版本
uv python find 3.11

# 为项目固定Python版本
uv python pin 3.11
uv python pin cpython@3.12.1

🏃‍♂️ 运行和执行

# 运行Python脚本
uv run python main.py
uv run python -m pytest

# 运行命令
uv run --with requests python -c "import requests; print('ok')"

# 直接运行工具
uv run pytest
uv run black .
uv run mypy src/

# 临时安装并运行
uv tool run black --check .
uv tool run ruff check src/

🔧 工具管理

# 全局安装工具
uv tool install black
uv tool install ruff
uv tool install "jupyterlab>=4"

# 查看已安装工具
uv tool list

# 更新工具
uv tool upgrade black
uv tool upgrade --all

# 卸载工具
uv tool uninstall black

# 运行全局工具
uv tool run black .

📋 信息查看

# 查看项目依赖树
uv tree

# 查看过时的包
uv pip list --outdated

# 显示包信息
uv pip show requests

# 检查项目状态
uv check

# 查看lockfile
cat uv.lock

🌐 虚拟环境

# uv自动管理虚拟环境,但你也可以手动操作

# 查看虚拟环境位置
uv venv --show-path

# 创建虚拟环境
uv venv
uv venv .venv --python 3.11

# 激活虚拟环境(通常不需要,uv run会自动处理)
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows

🔄 pip兼容命令

# uv也支持pip风格的命令
uv pip install requests
uv pip install -r requirements.txt
uv pip uninstall requests
uv pip list
uv pip freeze
uv pip show requests

📚 实际工作流示例

新项目完整流程

# 1. 创建项目
uv init --python 3.11 my-web-app
cd my-web-app

# 2. 添加依赖
uv add fastapi uvicorn
uv add pytest black --dev

# 4. 运行应用
uv run uvicorn main:app --reload

# 5. 运行测试
uv run pytest

# 6. 代码格式化
uv run black .

日常开发命令

# 启动开发服务器
uv run python manage.py runserver

# 运行测试套件
uv run pytest tests/ -v

# 类型检查
uv run mypy src/

# 代码质量检查
uv run ruff check .
uv run black --check .

# 安装新依赖
uv add pandas numpy

🎯 高级用法

工作空间管理

# 多包项目
uv add --editable ./packages/core
uv sync --package my-package

脚本模式

# 创建单文件脚本
uv init --script my-script.py

# 运行脚本(自动安装依赖)
uv run my-script.py

缓存管理

# 清理缓存
uv cache clean

# 查看缓存大小
uv cache dir

🔍 配置和调试

# 查看uv版本
uv --version

# 查看详细信息
uv --verbose run python main.py

# 查看帮助
uv --help
uv add --help

💡 最佳实践组合

日常最常用的命令:

uv init --python 3.11 project-name  # 创建项目
uv add package-name # 添加依赖
uv run python main.py # 运行代码
uv sync # 同步依赖

开发调试常用:

uv run pytest                      # 测试
uv run black . # 格式化
uv tree # 查看依赖
uv python list # 管理Python版本