建置可再發行的二進位檔#
當使用 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),然後將其重新封裝到最終的封裝格式中。