强制Python包setup.py bdist_wheel在子目录中包含二进制文件
我有一个Python包,其中包括强制Python包setup.py bdist_wheel在子目录中包含二进制文件,python,pip,python-wheel,Python,Pip,Python Wheel,我有一个Python包,其中包括bin_win32,bin_win64,bin_osx,bin_lnx32,以及bin_lnx64子目录,这些子目录带有相应平台的二进制文件,我通过Python文件streamcloud.py调用它们。当我运行python setup.py bdist_wheel--universal时,生成的控制盘不包括这些子目录中的文件,只包括python文件。我怎样才能将这些包含在车轮中 注意:我知道1)universal标志仅适用于Python软件包,2)我应该为每个平台
bin_win32
,bin_win64
,bin_osx
,bin_lnx32
,以及bin_lnx64
子目录,这些子目录带有相应平台的二进制文件,我通过Python文件streamcloud.py
调用它们。当我运行python setup.py bdist_wheel--universal时,生成的控制盘不包括这些子目录中的文件,只包括python文件。我怎样才能将这些包含在车轮中
注意:我知道1)universal标志仅适用于Python软件包,2)我应该为每个平台创建单独的控制盘。但是,我无法访问Windows或Linux计算机进行开发,并且Linux特定控制盘没有命名约定
可以找到
setup.py
的内容。第一个问题是,您的项目没有遵循预期的布局,因此除了packages
和package\u data
参数外,还需要使用package\u dir
参数调用setup()
(请参阅)
package_dir={'airship':'/airship'}
但是,您试图包含的文件不是真正的包数据,因此您可能不想像当前那样将它们添加到package\u数据中package_data
解释相对于包的路径,而不是相对于项目根的路径。相反,请使用,以便可以提供相对于setup.py文件的路径
package_dir={'airship': '<path_to_package>/airship'}