在python包中包含外部二进制文件

Gar*_*ice 6 python setup.py

我有一个python模块,基本上是一个外部二进制文件(非python)的大包装器(除其他功能外)。我想将二进制文件(对于OSX为1个二进制文件,对于Linux为1个二进制文件)以及我的代码包括在内。我的setup.py当前包含以下内容:

package_data={'packagename': ['lib/app-osx/*', 'lib/app-linux/*', 'lib/*.awk']},
Run Code Online (Sandbox Code Playgroud)

文件位于:

/packagename
 /lib
  script.awk
  /app-osx/
    app
  /app-linux
    app
Run Code Online (Sandbox Code Playgroud)

我似乎找不到它们的安装位置(如果有的话)?为此有约定吗?我显然不能为此使用依赖项:(

然后,在python脚本中查找其位置的最佳方法是什么?

谢谢

Gar*_*ice 3

在 Jonathon 的提示下,我通过聊天找到了 Lukas 为我提供的解决方案。解决方案很简单,将以下内容添加到 setup.py 中:

zip_safe=False
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!如果您提供完整的“setup.py”,并解释为什么“zip_safe=False”解决了您的问题,我将很乐意对这个问题和答案进行投票。 (7认同)