On this page
升级 uv
runtime/Containerfile 固定了特定的 uv 版本,并从内部文件存储下载。uv 用于
创建虚拟环境和安装所有 Python 包。
为什么 uv 和 CPython-standalone 要联动更新
当 Containerfile 中有 uv venv --python 3.11 且基础镜像没有 Python 3.11 时,
uv 会从 python-build-standalone 下载独立的 CPython 构建。uv 使用的
release tag 硬编码在 uv 二进制中——每个 uv 版本绑定到固定的 tag。更新 uv
→ tag 变化 → 文件存储中缓存的 tarball 必须同步更新。
| uv 版本 | python-build-standalone release tag |
|---|---|
| 0.11.30 | 20260718 |
如何找到新的 release tag
将新版 uv 二进制下载到任意 runner 后:
# 方法一:快速 — 从二进制中 grep
strings uv | grep -oE 'cpython-[0-9.]+%2B[0-9]+-[a-z0-9_-]+-install_only[^"]*\\.tar\\.gz' | sort -u
# 方法二:精确 — 强制重装并查看日志
uv python install --reinstall --no-cache -v cpython-3.11.15-linux-$(uname -m)-gnu 2>&1 | grep Downloading
# → https://releases.astral.sh/github/python-build-standalone/releases/download/<TAG>/...
需要镜像的文件
每个 tag 需要下载 *_stripped 变体(体积更小),涵盖项目使用的 Python
小版本和架构。三个版本(3.10、3.11、3.12)× 两种架构(x86_64、aarch64)=
每个 tag 6 个文件。
上传到:
flagos-filestore/uv-python/<TAG>/<filename>
Containerfile 修改
- 修改
runtime/Containerfile中curl行的 uv 版本号。 UV_PYTHON_INSTALL_MIRROR环境变量(见下文)无需更改——uv 内部自动拼接 tag 路径。
镜像加速(2026-07-24 已配置)
UV_PYTHON_INSTALL_MIRROR 让 uv 从文件存储下载 CPython 而不是从 GitHub。
待 6 个文件上传后,在 Containerfile 的 uv venv 之前添加:
ENV UV_PYTHON_INSTALL_MIRROR=https://resource.flagos.net/repository/flagos-filestore/uv-python
在镜像配置好之前,uv 会回退到 GitHub 下载,在国内 runner 上会很慢。
Last updated 24 Jul 2026, 14:42 +0800.