# 优化版(2026-09-24):解决清华源限流下每次构建重下 torch 的问题。 # 要点: # 1. pyproject build-system.requires 含 torch==2.13.0,pip 隔离构建环境每次都重下 ~6GB。 # 基底镜像已装 torch 2.13 → 用 --no-build-isolation 复用,构建环境零下载。 # 2. 基底缺 setuptools-scm(版本打戳要用),单层预装 + pip cache mount,只下载一次。 # 3. RUN 的 pip cache mount 持久化在宿主机,依赖解析命中的包不再重复下载。 FROM uhub.service.ucloud.cn/umirror/sglang:dev-dsv41 ARG PIP_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple ENV PIP_INDEX_URL=${PIP_INDEX} # 构建后端(pyproject build-system.requires,torch 除外——基底已有) RUN --mount=type=cache,target=/root/.cache/pip \ pip install "setuptools>=61" "setuptools-scm>=8" "setuptools-rust>=1.11" wheel # 整个源码树(含 .git,用于 setuptools-scm 版本打戳) COPY sglang/ /sgl-workspace/sglang/ # editable 安装,全量依赖解析(pyproject.toml 变化时走这个) RUN --mount=type=cache,target=/root/.cache/pip \ pip install --no-build-isolation -e /sgl-workspace/sglang/python