【问题标题】:Embedding an executable within a py2app application在 py2app 应用程序中嵌入可执行文件
【发布时间】:2013-04-08 16:03:34
【问题描述】:

我有一个 python 脚本,我想用 py2app 将它打包为 Mac 应用程序包。该脚本调用 CLI 可执行文件。

如何将该可执行文件嵌入到应用程序包中?

我尝试编辑setup.py 以将其作为资源 包含在内,但在这种情况下,执行权限将丢失。此外,py2app 的 strip 阶段会引发错误。我想知道是否有一个特定的setup.py 选项可以将可执行文件复制到 Content/MacOS 而不是 Content/Resources

【问题讨论】:

    标签: python macos py2app


    【解决方案1】:

    以正确的方式将 CLI 可执行文件添加到资源中,但由于 py2app 中的错误(目前未复制文件权限),这不起作用。

    最简单的解决方法是在调用 py2app 后重置文件权限。

    【讨论】:

    • 阅读accepted answerCan executables made with py2app include other terminal scripts and run them 的问题,我知道它看起来更像是一个功能而不是一个错误。除非不存在更合适的解决方案,否则我会尽量避免使用该解决方案。无论如何感谢您的回答。
    • 这确实是一个错误,它将在下一个 py2app 版本中修复(希望本周晚些时候)。在当前的 py2app 版本中有占位符代码应该复制文件权限,但该代码实际上还没有实现(主要是因为 py2app 可以从压缩的 python 安装中复制文件,并且从中获得正确的权限比只是调用 os.stat)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2013-08-27
    • 2011-08-30
    • 2014-03-11
    • 1970-01-01
    相关资源
    最近更新 更多