5.11.2 平台支持
3 分钟阅读
原文链接: https://docs.astral.sh/uv/reference/policies/platforms/
5.11.2 平台支持
uv 对以下平台提供 Tier 1 支持:
- macOS(Apple Silicon)
- macOS(x86_64)
- Linux(x86_64)
- Windows(x86_64)
uv 针对其 Tier 1 平台持续构建、测试和开发。借鉴 Rust 项目的说法,Tier 1 可以理解为“保证可用”。
uv 对以下平台提供 Tier 2 支持(“保证可构建”):
- Linux(PPC64LE)
- Linux(RISC-V64)
- Linux(aarch64)
- Linux(armv7)
- Linux(i686)
- Linux(s390x)
- Windows(arm64)
uv 对以下平台提供 Tier 3 支持(“尽力而为”):
- FreeBSD(x86_64)
- Windows(i686)
uv 为其 Tier 1 和 Tier 2 平台在 GitHub 上提供官方二进制文件,并在 PyPI 上提供预构建 wheel。
Tier 2 平台会持续构建,但不运行 uv 测试套件,实际稳定性可能参差不齐。
Tier 3 平台可能不构建也不测试,但 uv 会接受修复缺陷的补丁。
Linux 版本
在 Linux 上,兼容性由 libc 版本决定。
uv 同时发布基于 glibc 和基于 musl 的分发。
对于基于 glibc 的 Linux 发行版,uv 发布 manylinux 兼容的 wheel 及对应二进制文件。这些产物依赖宿主系统上可用的 glibc。在 manylinux wheel 标签中,版本编码了该 wheel 支持的最低 glibc 版本;例如 manylinux_2_17_x86_64 需要 glibc 2.17+。
uv 官方的基于 glibc 的 wheel 和二进制文件针对以下目标发布:
x86_64-unknown-linux-gnu(manylinux_2_17_x86_64)aarch64-unknown-linux-gnu(manylinux_2_28_aarch64)armv7-unknown-linux-gnueabihf(manylinux_2_17_armv7l)i686-unknown-linux-gnu(manylinux_2_17_i686)powerpc64le-unknown-linux-gnu(manylinux_2_17_ppc64le)riscv64gc-unknown-linux-gnu(manylinux_2_31_riscv64)s390x-unknown-linux-gnu(manylinux_2_17_s390x)
uv 还为以下目标发布基于 musl 的 wheel 以及完全静态链接的二进制文件:
x86_64-unknown-linux-musl(musllinux_1_1_x86_64)aarch64-unknown-linux-musl(musllinux_1_1_aarch64)armv7-unknown-linux-musleabihf(musllinux_1_1_armv7l)i686-unknown-linux-musl(musllinux_1_1_i686)riscv64gc-unknown-linux-musl(musllinux_1_1_riscv64)arm-unknown-linux-musleabihf(linux_armv6l)
这些 wheel 以 musllinux 兼容标签发布。不过其中嵌入的 uv 二进制文件是完全静态链接的,不需要宿主系统提供 musl libc。
官方 Docker 镜像为 amd64 和 arm64 包含这些完全静态链接的 musl uv 二进制文件。
Windows 版本
支持的最低 Windows 版本是 Windows 10 和 Windows Server 2016,遵循 Rust 自身的 Tier 1 支持。
macOS 版本
uv 支持 macOS 13+(Ventura)。
已知 uv 在 macOS 12 上也能工作,但需要安装 realpath 可执行文件。