开发基础(一)UV

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. 切到项目目录再 sync(uv 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 时 
上一篇: 【】提示词工程的迭代SOP
吃熊的鱼
博客等级 码龄12年 137粉丝 95原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值