首页 > 解决方案 > 如何在 setup.py 中添加特定于平台的包数据?

问题描述

我需要在使用 setup.py 构建的轮子中部署特定于平台的包数据

对于一些背景知识,我正在尝试使用预构建的二进制文件和 ctypesgen 为某个库创建 Python 绑定。我有一个数据树,其中包含特定于平台的子目录,每个子目录包含一个绑定文件和一个二进制文件:

data/
    macos-arm64/
        _bindings.py
        binary.dylib
    linux-x64/
        _bindings.py
        binary.so
    windows-x64/
        _bindings.py
        binary.dll
    ...

我有一个源代码树:

src/
    package_name/
        __init__.py
        __main__.py
        ...

问题:如何构建仅包含一个相应的二进制文件和绑定的特定于平台的包?

部署到最终用户的最终目录树在结构上应如下所示:

package_name/
    __init__.py
    __main__.py
    _bindings.py
    binary.xyz
    ...

标签: python-3.xsetuptools

解决方案


推荐阅读