执行摘要
修复 PyPI 发布失败,移除 git-only 依赖
v0.5.16 的 PyPI 发布因 wheel 元数据中包含 git direct URL 依赖(sgl-eval)而被 PyPI 拒绝,导致发布失败。
值得快速合并,已修复关键发布阻塞问题。可关注后续是否有其他 git-only 依赖需要在发布前检查。
无 review 讨论。
v0.5.16 的 PyPI 发布因 wheel 元数据中包含 git direct URL 依赖(sgl-eval)而被 PyPI 拒绝,导致发布失败。
值得快速合并,已修复关键发布阻塞问题。可关注后续是否有其他 git-only 依赖需要在发布前检查。
无 review 讨论。
python/pyproject.toml 的 test extra 中删除了 sgl-eval @ git+... 条目,并更新注释说明原因和替代安装路径。scripts/ci/cuda/ci_install_dependency.sh 的 install_extra_deps() 函数中添加了通过 pip 安装 sgl-eval(指定 SHA)的步骤,确保 CI(如夜间 GSM8K 评估)仍能正常安装。antlr4-python3-runtime==4.9.3 固定版本,确保当 sgl-eval 通过 CI 脚本安装时环境兼容。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
python/pyproject.toml |
项目配置 | modified | 4.7 |
scripts/ci/cuda/ci_install_dependency.sh |
CI 脚本 | modified | 4.53 |
python/pyproject.toml
configuration
主元数据文件,移除 sgl-eval 的 git direct URL 依赖,修复 PyPI 发布失败的根本原因。
# python/pyproject.toml - test extra 片段(变更后)
# 4.9.3 is what sgl-eval's math_verify grader needs (latex2sympy2_extended
# raises ImportError on 4.7.x), so a `sglang[test]` environment is already
# compatible when sgl-eval is installed on top of it.
# Do NOT declare sgl-eval itself here: it is git-only, and PyPI rejects any
# uploaded distribution whose metadata carries a direct URL requirement.
# CUDA CI installs it in scripts/ci/cuda/ci_install_dependency.sh.
"antlr4-python3-runtime==4.9.3",
# "sgl-eval @ git+..." 已删除
scripts/ci/cuda/ci_install_dependency.sh
infrastructure
CI 安装脚本,新增 sgl-eval 的 pip 安装步骤,确保 CUDA CI 测试仍能正常获取该依赖。
# scripts/ci/cuda/ci_install_dependency.sh 片段(变更后)
install_extra_deps() {
MOONCAKE_VERSION="0.3.11.post1"
NIXL_VERSION="1.3.0"
# sgl-eval is git-only and cannot be declared in python/pyproject.toml (see
# the note there). The nightly GSM8K eval shells out to the sgl-eval CLI and
# fails without it. Bumping the SHA can change zero-shot \boxed{} grading, so
# re-baseline MODEL_SCORE_THRESHOLDS in
# test/registered/eval/test_text_models_gsm8k_eval.py first.
SGL_EVAL_REF="b2a2703c42cae379bbcb8b7ff092df6601a61694"
# ... 其他安装逻辑 ...
$PIP_CMD install "sgl-eval @ git+https://github.com/sgl-project/sgl-eval.git@${SGL_EVAL_REF}" $PIP_INSTALL_SUFFIX
# ...
}
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
低风险:仅涉及元数据和 CI 脚本调整,不修改任何核心逻辑。风险在于 CI 脚本中 pip 安装可能因网络问题失败,但已有幂等处理。另外,非 CUDA 的 CI 作业(如 pr-test)将不再安装 sgl-eval,但这不影响现有测试(已 mock)。
影响范围:主要影响 PyPI 发布流程(修复阻断问题)和 CUDA CI 中的夜间评估。CPU/AMD/其他平台的 CI 不受影响。用户无需变更。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论