开发基础(一)UV 📅 2026/6/25 19:02:12 uv 会自动创建并管理 Python 环境这是它相比传统 pip venv 工作流的核心优势之一。它管理两个层面的环境┌─────────────────────────────────────────────┐ │ uv 自动环境创建流程 │ └─────────────────────────────────────────────┘ │ ▼ 检查项目根目录下是否存在 .venv/ │ ┌────┴────┐ │ │ 存在 不存在 │ │ │ ▼ │ ① 读取 pyproject.toml 的 requires-python │ ② 查找/下载符合版本约束的 Python 解释器 │ ③ 在项目根目录创建 .venv/ │ ④ 用该解释器初始化虚拟环境 │ │ └────┬────┘ ▼ 将依赖按 uv.lock 安装到 .venv/安装curl -LsSf https://astral.sh/uv/install.sh | sh 安装完成后重新加载 shell 环境变量 source $HOME/.local/bin/env到项目下安装环境# 2. 切到项目目录再 syncuv sync 需要在含 pyproject.toml 的目录执行 cd project/ uv sync┌─────────────────────────────────────────────────────────────┐ │ uv sync 执行流程 │ └─────────────────────────────────────────────────────────────┘ │ ▼ ① 定位项目根目录向上查找 pyproject.toml │ ▼ ② 读取 pyproject.toml ──── 获取依赖声明、Python 版本要求 │ ▼ ③ 读取/生成 uv.lock ──── 锁定每个包的精确版本与哈希 │ 不存在则自动 uv lock 生成 ▼ ④ 创建/复用 .venv ──── 默认在项目根目录 │ ▼ ⑤ 解析依赖差异 ──── 对比 venv 现状 vs lock 声明 │ ▼ ⑥ 安装/卸载/升级包 ──── 让 venv 与 lock 完全一致 │ 默认会移除 lock 之外的额外包 ▼ ⑦ 安装项目自身editable使用# ① 进项目 cd project/ # ② 同步依赖首次或 pull 之后 uv sync # ③ 日常使用 —— 全部用 uv run不激活 uv run python examples/pyspark/pyspark_quickstart.py uv run pytest uv run python # 想要 REPL 时