Python GUI App Distribution:用wxPython,TKinter或QT编写

时间:2012-10-01 00:22:22

标签: python user-interface wxpython pyqt tkinter

我的问题是关于跨平台(Mac / Linux / Windows)分发GUI应用程序的简易性,我想知道使用户工作最简单的那个。

我目前的理解是Tkinter应用程序对于用户来说是最容易的(安装),因为只要用户在她的框中安装了Python,我的应用程序就可以在该框上运行了。

对于用wxPython或pyQT编写的GUI应用程序,用户需要先在她的盒子中安装wxWidget或QT,这是一个额外的步骤,然后安装我的GUI应用程序。 (但是我的Ubuntu盒子似乎默认安装了wxWidget库和QT库,这是一个规范还是只是Ubuntu发行版对用户更友好?我猜Windows和Mac可能不会通过defualt提供它们,即用户需要下载并安装它们作为额外步骤)

3 个答案:

答案 0 :(得分:8)

如果您正在运行Ubuntu,默认情况下将安装PyQt。大多数Linux发行版默认安装PyGtk或PyQt。 WxPython很可能安装在您的Ubuntu框中,作为系统中某些其他软件包的依赖项。

如果你的目标市场是Linux,你可以创建一个deb或rpm包,它将负责你的应用程序的依赖。

对于Windows和Mac(如果你是如此倾向于Linux,你可以将python解释器与你的应用程序及其库捆绑成本机可执行格式,如 as .exe,.dmg或.elf使用cx_freezepy2exepy2app等库。完成此操作后,您的用户将无需安装python或任何库。

答案 1 :(得分:4)

Tkinter是Python中唯一包含的。 wxPython和pyQT需要在系统上安装wxWindows或QT库 wxPython或pyQT库。

然而,Tk看起来并不是很好。如果你已经让用户安装了Python,你也可以让他们安装这些库。 (或者可能包括安装人员或其他东西。)

答案 2 :(得分:2)

如果该应用是跨平台的,我会建议WxWidgetswxpython)。我已经好几次使用它,这从来都不是问题。

然而,您应该为Windows,Mac和Linux创建不同的安装程序。在Linux中,使用.deb.rpm来处理依赖关系。

在Windows中,我一直使用py2exe来创建exe文件。 Py2exe通过附加python解释器和所需的库来工作,在本例中为wxWidgets

点击此链接了解详情:http://www.py2exe.org/