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

标签 python wxpython macos py2app

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

问题出在 Mac OS X 上。

有 2 个工具可以为 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 创建单个文件“应用程序”?

附:我使用两台计算机(Windows 和 Mac),Python 2.7、wxPython、py2exe、py2app 和 pyinstaller。

另外,我查看了以下网站:

最佳答案

How to configure py2app to include the source code in the executable, so the final users will not have access to my program?

除非您非常认真地破解 python 解释器(并包括损坏的版本),否则没有真正好的方法可以向中等技能和坚定的用户隐藏源代码。我坚信这在 Windows 上也是如此。基本上,无论您包含真正的源代码还是字节码,都可以恢复相当干净的源代码版本。更重要的是,在我看来,除非您包含实际的源代码(与字节码相反,您将引入对解释器版本的可能依赖)。

How to convert UNIX executable to Mac ".app" ?

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

如果您只希望它是一个简单的包装器来将命令行二进制文件放入窗口,那么它很容易实现,并且免费的 XCode 套件有几个可以提供服务的示例(取决于输出的内容) 你想交付,如果有的话)。

Is there a way to compile Python code with GCC ?

GCC 不编译 Python。它是一种不同的语言(尽管 gcc 家族中的工具支持多种语言前端,但不支持 Python)。有一些工具试图将 Python 翻译成 C,然后您可以将其编译成真正的二进制文件,但这仅适用于避免某些类型构造的程序,并且该过程(和限制)也需要应用您的库。
一个允许这样做的项目是 Cython。它适用于某些类型 的代码,主要是数字代码,但安装和安装并非易事 漏洞利用,特别是如果你想生产可以在多个平台上运行的东西 不同的电脑。

In Windows it's easy, I created an "exe" file from Python code and it works. Is it possible to create a single file "app" for Mac ?

我不得不说我对此持怀疑态度——非常怀疑。就像 OS X 案例一样,exe 几乎可以肯定其中包含可轻松访问的源代码。

一个相当简单的技巧是加密源代码,然后即时解密,但这 在我看来,麻烦多于其值(value)。

关于python - 如何使用 Python 创建 Mac OS X 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7261795/

相关文章:

python - wxPython 更改鼠标光标以通知长时间运行的操作

python - 如何在 wxpython 中使用带有 wx.ColourDialog 的刷新?

json - 如何覆盖 SublimeLinter-CSSLint 中的 "Selectors should not contain IDs"规则?

Python 3.5 : slice vs islice vs alternatives? 效率对比

python - 在这个例子中为什么我应该使用 __new__ 而不是 __init__ ?

python - 在 sizer 中获取鼠标位置? wxpython

macos - 通过 Homebrew 软件安装应用程序或安装 "normal"有什么区别?

python - 在 Saxon/C 中使用条件包含/静态参数?

Python/MySQL查询错误: `Unknown column`

macos - 如何使用 MAMP 从命令行运行 PHP 脚本?