构建可再发行二进制文件#
当使用 python -m build
或 pip wheel
构建 NumPy wheel 时,该 wheel 将依赖于外部共享库(至少对于 BLAS/LAPACK 和 Fortran 编译器运行时库,可能还有其他库)。因此,此类 wheel 仅在其构建的系统上运行。有关此方面的更多上下文,请参阅 pypackaging-native 内容中的“构建和安装或上传工件”。
因此,这样的 wheel 是生成可分发二进制文件的中间阶段。最终的二进制文件可能是一个 wheel - 在这种情况下,运行 auditwheel
(Linux)、delocate
(macOS)或 delvewheel
(Windows)将所需的共享库提供到 wheel 中。
最终的二进制文件也可能采用其他打包格式(例如,.rpm
、.deb
或 .conda
包)。在这种情况下,存在特定于打包生态系统的工具,首先将 wheel 安装到暂存区域,然后使该安装位置中的扩展模块可重定位(例如,通过重写 RPATH),然后将其重新打包到最终的包格式中。