构建可再分发二进制文件#

当使用 python -m buildpip wheel 构建 NumPy wheel 包时,该 wheel 包将依赖于外部共享库(至少包括 BLAS/LAPACK 和 Fortran 编译器运行时库,可能还有其他库)。因此,此类 wheel 包只能在其构建的系统上运行。有关更多背景信息,请参阅 pypackaging-native 内容中“构建和安装或上传工件”部分

因此,这样的 wheel 包是生成可分发二进制文件的一个中间阶段。最终的二进制文件可能是一个 wheel 包——在这种情况下,运行 auditwheel (Linux)、delocate (macOS) 或 delvewheel (Windows) 将所需的共享库打包到 wheel 中。

最终的二进制文件也可以是其他打包格式(例如 .rpm.deb.conda 包)。在这种情况下,有针对特定打包生态系统的工具,用于首先将 wheel 包安装到暂存区,然后使该安装位置的扩展模块可重定位(例如,通过重写 RPATHs),然后将其重新打包为最终的包格式。