写点什么

UV Python 项目环境配置指南

作者:虚实的星空
  • 2025-06-28
    中国香港
  • 本文字数:1537 字

    阅读完需:约 5 分钟

📁 项目结构

install_python/├── demo_project/          # Python 3.9 项目│   ├── .python-version    # 指定Python 3.9│   ├── pyproject.toml     # 项目配置和依赖│   ├── .venv/            # 虚拟环境│   └── main.py           # 数据处理脚本└── python_312_proj/      # Python 3.12 项目    ├── .python-version    # 指定Python 3.12    ├── pyproject.toml     # 项目配置和依赖    ├── .venv/            # 虚拟环境    └── main.py           # FastAPI Web应用
复制代码

🚀 UV 项目配置方法

方法一:创建新项目

# 创建Python 3.9项目mkdir my_project_39cd my_project_39uv init --python 3.9
# 创建Python 3.12项目mkdir my_project_312cd my_project_312uv init --python 3.12
复制代码

方法二:在现有项目中配置

# 进入项目目录cd existing_project
# 指定Python版本echo "3.9" > .python-version
# 初始化项目配置uv init
# 添加依赖uv add requests pandas numpy
复制代码

方法三:使用 uv run 直接运行

# 无需激活虚拟环境,直接运行uv run python script.py
# 运行特定Python版本uv run --python 3.12 python script.py
# 安装并运行uv run --with requests python -c "import requests; print('Hello')"
复制代码

📦 依赖管理

添加依赖

# 添加生产依赖uv add requests pandas
# 添加开发依赖uv add --dev pytest black
# 添加指定版本uv add "requests>=2.25.0"
# 添加可选依赖uv add --optional redis
复制代码

移除依赖

# 移除依赖uv remove requests
# 移除开发依赖uv remove --dev pytest
复制代码

同步环境

# 同步到最新版本uv sync
# 同步到锁文件版本uv sync --frozen
复制代码

🔄 项目切换

自动切换 Python 版本

# 进入项目目录,自动使用指定Python版本cd demo_projectuv run python --version  # Python 3.9.23
cd ../python_312_projuv run python --version # Python 3.12.11
复制代码

虚拟环境管理

# 激活虚拟环境source .venv/bin/activate
# 或使用uv run(推荐)uv run python script.py
# 查看已安装包uv pip list
复制代码

🛠️ 常用命令

项目初始化

uv init [--python VERSION] [--name PROJECT_NAME]
复制代码

依赖管理

uv add PACKAGE [VERSION]     # 添加依赖uv remove PACKAGE           # 移除依赖uv sync                     # 同步环境uv lock                     # 更新锁文件
复制代码

运行命令

uv run COMMAND              # 在项目环境中运行命令uv run --python VERSION     # 指定Python版本运行uv run --with PACKAGE       # 临时安装包并运行
复制代码

工具管理

uv tool install black       # 安装工具uv tool run black .         # 运行工具
复制代码

📋 最佳实践

1. 项目隔离

  • 每个项目使用独立的虚拟环境

  • 使用 .python-version 指定 Python 版本

  • 使用 pyproject.toml 管理依赖

2. 依赖管理

  • 使用 uv add 而不是手动编辑 pyproject.toml

  • 定期运行 uv sync 更新环境

  • 使用锁文件确保环境一致性

3. 开发工作流

  • 使用 uv run 而不是激活虚拟环境

  • 使用 uv tool 管理开发工具

  • 在 CI/CD 中使用 uv sync --frozen

4. 性能优化

  • UV 比 pip 快 10-100 倍

  • 使用缓存加速重复安装

  • 并行下载和安装包

🔧 配置文件示例

pyproject.toml

[project]name = "my-project"version = "0.1.0"description = "项目描述"requires-python = ">=3.9"dependencies = [    "requests>=2.25.0",    "pandas>=1.3.0",]
[project.optional-dependencies]dev = [ "pytest>=6.0", "black>=21.0",]test = [ "pytest-cov>=2.0",]
复制代码

.python-version

3.9
复制代码

🎯 项目示例对比

💡 提示

  • UV 会自动管理虚拟环境,无需手动创建

  • 使用 uv run 可以避免激活/退出虚拟环境的麻烦

  • 每个项目的依赖完全隔离,不会相互影响

  • UV 的锁文件确保在不同机器上环境一致

用户头像

Among Reality and Fantasy 2020-06-10 加入

日拱一卒

评论

发布
暂无评论
UV Python项目环境配置指南_Python_虚实的星空_InfoQ写作社区