是否有Python的GUI库,允许您编译到EXE(Windows)和APP(Mac)?

时间:2010-08-30 20:47:24

标签: python user-interface distribution

我正在开发一个我需要跨平台的应用程序。我想使用Python,我正在寻找GUI工具包,使界面编程简单易行。经过一次轻微的打猎,我找到了PythonCard。这看起来很完美,但我不确定是否可以将其编译为适合每个操作系统的可执行文件。我找到了these说明,但他们已经6岁了。

无论我选择何种解决方案,都必须支持以下内容:

  • 编写一个GUI以在Windows和Mac OSX上工作
  • 必须'编译'成两个windows / mac
  • 的易于分发的文件
  • 编译文件不得要求在用户计算机上安装Python

在我不得不涉足荒凉的Java世界之前,有人可以推荐一个库/解决方案吗?

6 个答案:

答案 0 :(得分:4)

使用PyInstaller使用PyQt或WxPython gui工具包分发应用程序。来自网站:

  

PyInstaller是一个程序,可以在Windows,Linux和Mac OS X下将Python程序转换(打包)成独立的可执行文件。

对于gui工具包,PyInstaller is documented可以使用Qt3,Qt4和WxPython。

StackOverflow贡献者dF,uses PyInstaller“用于依赖于PyQt,PyQwt,numpy,scipy等等的应用程序。”

答案 1 :(得分:4)

我认为这里的答案不是关于特定的GUI工具包,而是关于分发独立的python应用程序的更多信息。就我个人而言,我发现这方面的工具不如我想要的那么完美,但经过一番调查,他们完成了工作。最符合您需求的候选人是cx_Freeze。虽然如果cx_Freeze不足,有特定于Windows的py2exe和Mac特定的py2app可能会填补这笔费用。

答案 2 :(得分:0)

嗯。

也许最好将我的帖子移到评论中,但是。为什么要“编译”python代码,为什么你认为某些GUI框架应该提供一些打包/安装工具?

在我们公司,我们编写了跨平台的GUI应用程序,当然我们必须为客户轻松交付。因此,我们找到了合适的GUI框架和python绑定(Qt),然后我们选择了隐藏不需要的实现细节和消除依赖性的方法(Py2Exe for Windows,Py2App for Mac,什么都没有linux,但你可以试试PyInstaller或cx-冻结)。

根据最不惊讶的原则,按照该操作系统的方式安装每个操作系统。这就是为什么我们没有将linux版本打包成某种二进制可执行文件。

答案 3 :(得分:0)

如果您希望您的应用程序看起来和感觉都是原生的,那么wxPython就是您的选择。 PyQt可以看起来很原生,但听起来并不总是以本机方式表现(根据我读过的一些帖子)。要构建二进制文件,请使用py2exe或其他一些用于Windows和py2app for Mac

答案 4 :(得分:0)

This presentation完成整个过程,最后还是Py2exePy2app ......

答案 5 :(得分:0)

对于Wxpython GUI设计者check this question。我简单地尝试过boa-contstructor,但我发现它太有限了 - 因为并非所有小部件都受支持。 AFAIK没有wxpython设计师支持所有小部件(开箱即用)。

我个人觉得手动编写GUI的速度更快更容易。我说我只花了几天才能变得相当舒适/熟悉wxpython。如果您需要做任何其他事情,然后创建一个简单的应用程序,那么花一点时间来学习wxpython将支付其红利。

如果你想要拥有一个下降GUI设计师,那么你最好的选择就是可能是PyQt,因为这个恕我直言是唯一一个拥有坚实成熟编辑器的工具包 - Qt Designer

至于创建独立的excutables我只使用py2exe用于windows。 py2app为mac做同样的事情,尽管我还没有尝试过。

对于Windows安装程序结帐this thread