如何使用Python创建可直接执行的跨平台GUI应用程序?

时间:2020-03-05 18:37:54  来源:igfitidea点击:

Python可在多种平台上工作,并且可用于桌面和Web应用程序,因此,我得出结论,有一种方法可以将其编译为Mac,Windows和Linux的可执行文件。

问题是我不知道从哪里开始或者如何用它编写GUI,任何人都可以对此有所了解并向我指出正确的方向吗?

解决方案

回答

首先,我们将需要一些具有Python绑定的GUI库,然后(如果需要)一些程序,它将Python脚本转换为独立的可执行文件。

具有Python绑定的跨平台GUI库(Windows,Linux,Mac)

当然,有很多,但是我在野外看到的最受欢迎的是:

  • Tkinter-基于Tk GUI工具包(事实上的标准python的标准GUI库,对于商业项目免费)
  • WxPython-基于WxWidgets(非常流行,免费用于商业项目)
  • PyQt-基于Qt(也很受欢迎,比WxWidgets稳定,但商业项目的许可费用很高)

完整列表位于http://wiki.python.org/moin/GuiProgramming

单个可执行文件(Windows)

  • py2exe-可能是最受欢迎的(PyInstaller也越来越受欢迎)

单个可执行文件(Linux)

  • 冻结-以与py2exe相同的方式工作,但以Linux平台为目标

单个可执行文件(Mac)

  • py2app-同样,可以像py2exe一样工作,但以Mac OS为目标

回答

我们无需为Mac / Windows / Linux编译python。它是一种解释语言,因此我们只需要在我们选择的系统上安装Python解释器即可(这三个平台均可用)。

至于可以跨平台工作的GUI库,Python的Tk / Tcl小部件库可以很好地工作,我相信跨平台足够了。

Tkinter是Tk / Tcl的python接口

从python项目网页:

Tkinter is not the only GuiProgramming
  toolkit for Python.  It is however the
  most commonly used one, and almost the
  only  one that is portable between
  Unix, Mac and Windows

回答

由于默认情况下现在几乎在所有非Windows操作系统上都安装了python,因此我们唯一需要确保的是已安装了我们使用的所有非标准库。

话虽如此,有可能构建包含python解释器和我们使用的任何库的可执行文件。但是,这可能会创建一个大型可执行文件。

MacOS X甚至在Xcode IDE中提供了对创建完整独立GUI应用程序的支持。这些可以由运行OS X的任何用户运行。

回答

pyfree.py是py2exe的替代工具,它可以为Windows和Linux生成可执行文件。它比py2exe更新,并且可以很好地处理鸡蛋。我发现在没有针对各种应用程序进行配置的情况下,它神奇地工作得更好。

回答

我不确定这是否是最好的方法,但是当我在Windows上部署Ruby GUI应用程序(不是Python,但就.exe而言具有相同的"问题")时,我只写了一个Cthat中的短启动程序会调用我的主脚本。它编译为可执行文件,然后有一个应用程序可执行文件。

回答

对于GUI本身:

PyQT几乎是参考。

开发快速用户界面的另一种方法是编写网络应用,
让它在本地运行并在浏览器中显示该应用。

另外,如果我们选择lubos hasko建议的Tkinter选项
我们可能想尝试Portablepy以使应用程序在Windows环境中运行
没有Python。

回答

另一个系统(尚未在接受的答案中提及)是PyInstaller,该系统在py2exe无法使用时可用于我的PyQt项目。我发现它更易于使用。

http://www.pyinstaller.org/

Pyinstaller基于Gordon McMillan的Python Installer。不再可用。

回答

还有PyGTK,它基本上是Gnome Toolkit的Python包装器。我发现比起Tkinter来,我的想法更容易缠起来,这是因为以前几乎没有GUI编程知识。它工作得很好,并且有一些很好的教程。不幸的是,目前还没有适用于Windows的Python 2.6安装程序,而且可能有一段时间了。