Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
强制Python包setup.py bdist_wheel在子目录中包含二进制文件_Python_Pip_Python Wheel - Fatal编程技术网

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

强制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)我应该为每个平台

我有一个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)我应该为每个平台创建单独的控制盘。但是,我无法访问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'}