强制Python包setup.py bdist_wheel在子目录中包含二进制文件

Car*_*iam 6 python pip python-wheel

我有一个Python包,其中包括bin_win32,bin_win64,bin_osx,bin_lnx32,并bin_lnx64与二进制文件相应的平台,这是我通过Python文件调用子目录steamcloud.py.当我运行时python setup.py bdist_wheel --universal,生成的轮子不包括这些子目录中的文件,只包括Python文件.如何将这些包含在方向盘中?

注意:我知道1)该--universal标志仅适用于Python包,2)我应该为每个平台创建单独的轮子.但是,我无法访问Windows或Linux计算机进行开发,并且没有特定于Linux的轮子的命名约定.

内容setup.py可以在这里找到.

Dan*_*Dan 0

好吧,第一个问题是您的项目不遵循预期的布局,因此除了和参数之外,您还需要setup()使用参数进行调用(请参阅安装包数据)。package_dirpackagespackage_data

package_dir={'airship': '<path_to_package>/airship'}
Run Code Online (Sandbox Code Playgroud)

但是,您尝试包含的文件并不是真正的包数据,因此您可能不想像package_data当前那样将它们添加到其中。package_data解释相对于包的路径,而不是相对于项目根的路径。相反,使用data_files这样您就可以提供相对于 setup.py 文件的路径。