7

我有一个 Python 包,其中包括bin_win32bin_win64bin_osxbin_lnx32bin_lnx64子目录,其中包含适用于适当平台的二进制文件,我通过 Python 文件调用它们steamcloud.py。当我运行python setup.py bdist_wheel --universal时,生成的轮子不包含那些子目录中的文件,只包含 Python 文件。我怎样才能将这些包含在轮子中?

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

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

4

1 回答 1

0

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

package_dir={'airship': '<path_to_package>/airship'}

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

于 2017-01-24T02:08:03.380 回答