如何使用Python创建Mac OS X应用程序?

Cri*_*cău 32 python macos wxpython py2app

我想创建一个应该在Windows和Mac上运行的GUI应用程序.为此,我选择了Python.

问题出在Mac OS X上.

有两种工具可以为Mac生成".app":py2app和pyinstaller.

  1. py2app非常好,但它在包中添加了源代码.我不想与最终用户分享代码.
  2. Pyinstaller生成UNIX可执行文件,那么如何在Mac上运行它?我用这个可执行文件创建了一个包,但结果".app"无效.

问题是:

  1. 如何配置py2app以在可执行文件中包含源代码,以便最终用户无法访问我的程序?
  2. 如何将UNIX可执行文件转换为Mac".app"?
  3. 有没有办法用GCC编译Python代码?
  4. 在Windows中很简单,我从Python代码创建了一个"exe"文件,它可以工作.是否可以为Mac创建单个文件"app"?

PS我使用两台电脑(Windows和Mac),Python 2.7,wxPython,py2exe,py2app和pyinstaller.

另外,我检查了这些网站:

Gre*_*egD 8

如何配置py2app以在可执行文件中包含源代码,以便最终用户无法访问我的程序?

除非你非常认真地攻击python解释器(并包含受损版本),否则没有什么好方法可以隐藏来自技术熟练和坚定的用户的源代码.我坚信在Windows上也是如此.基本上,无论您是包含真源还是字节码,都可以恢复非常干净的源版本.更重要的是,在我看来,除非你包含实际的源代码(而不是字节码,否则你将引入对解释器版本的可能依赖性).

如何将UNIX可执行文件转换为Mac".app"?

UNIX可执行文件是什么意思?Darwin(OS X)二进制文件[实际上不是UNIX]?这可以使用您已经提到的各种工具来完成,但必须小心谨慎以避免库依赖.

如果你想成为一个简单的包装把一个命令行二进制到一个窗口,这是很容易实现和自由的XCode套房有几个例子都将成为(取决于你婉什么输出提供,如果有的话).

有没有办法用GCC编译Python代码?

GCC不编译Python.它是一种不同的语言(尽管gcc系列中的工具支持多语言前端,但不支持Python).有些工具试图将Python转换为C,然后您可以将其编译为真正的二进制文件,但这仅适用于避免某些类型的构造的程序,并且流程(和限制)也需要应用您的库.
一个允许这个的项目是Cython.它适用于某些类型的代码,主要是数字代码,但安装和利用它并不容易,特别是如果你想生成在多台不同计算机上运行的东西.

在Windows中很简单,我从Python代码创建了一个"exe"文件,它可以工作.是否可以为Mac创建单个文件"app"?

我不得不说我对此持怀疑态度 - 非常怀疑.就像OS X案例一样,exe几乎肯定会在其中简单地访问源代码.

一个相当容易的技巧是加密源代码,然后动态解密,但在我看来,这比它的价值更麻烦.


Dic*_*ang 6

PyInstaller将在Mac OSX下自动创建用于窗口化可执行文件的包.运行ypinstaller.py时,请确保传递选项"--windowed".

此功能记录在pyinstaller的网站中


Jon*_*ter 5

如果您还没有完全致力于wxPython(以及其他寻找跨平台Python GUI框架的人),我建议您查看Kivy.它是跨平台的,GPU加速的,它将为您进行应用程序打包.它很容易进入,拥有深思熟虑的架构,并在界面方面为您提供了令人难以置信的灵活性.这是我发现制作跨平台Python GUI应用程序的最佳方式.


han*_*gui 5

cxFreeze是我们的选择。我使用它将我的 python 程序打包到 Mac OS X 应用程序中。这就像一个魅力。


Rus*_*ove 0

一个有动力的人可能会从应用程序中的 Python 字节码重建可用的源代码,因此您可能会重新考虑对 py2app 的反对。如果您不信任最终用户,为什么要与他们做生意?