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