2013-04-04 87 views
0

我有一个python脚本,我想用py2app打包成Mac应用程序包。该脚本调用CLI可执行文件。在py2app应用程序中嵌入可执行文件

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

我试图编辑setup.py以便将它包含为资源但在这种情况下,执行权限会丢失。而且py2app的strip阶段会产生一个错误。我想知道是否有一个特定的setup.py选项可以复制内容/ MacOS而不是内容/资源的可执行文件。

回答

1

将CLI可执行文件添加到资源中是正确的方法,但由于py2app中的错误(此时不复制文件权限)而无法工作。

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

+0

阅读[接受的答案](http://stackoverflow.com/a/11371197/45249)到[可以使用py2app制作的可执行文件包括其他终端脚本并运行它们](http://stackoverflow.com/q/11370012/45249)的问题,我明白它看起来更像是一个功能,而不像一个错误。除非没有更合适的存在,否则我会尽量避免这种解决方案无论如何感谢您的回答。 – mouviciel 2013-04-08 08:59:28

+0

这确实是一个错误,它将在下一个py2app发行版中修复(希望本周晚些时候)。在当前的py2app发行版中有占位符代码,应该复制文件权限,但该代码还没有实际实现(主要是因为py2app可以从压缩的python安装中复制文件,并且从中获得正确的权限比只是调用os.stat)。 – 2013-04-08 09:04:12

+0

这是个好消息! – mouviciel 2013-04-08 09:05:48

相关问题