我有一个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
的内容here。
答案 0 :(得分:0)
嗯,第一个问题是您的项目没有遵循预期的布局,因此除了setup()
和{{package_dir
之外,您还需要使用packages
参数调用package_data
1}}参数(参见installing package data)。
package_dir={'airship': '<path_to_package>/airship'}
但是,您尝试包含的文件并不是真正的包数据,因此您可能不希望像现在这样将它们添加到package_data
。 package_data
解释相对于包的路径,而不是相对于项目根的路径。相反,请使用data_files
,以便提供相对于setup.py文件的路径。