我的问题是关于跨平台(Mac / Linux / Windows)分发GUI应用程序的简易性,我想知道使用户工作最简单的那个。
我目前的理解是Tkinter应用程序对于用户来说是最容易的(安装),因为只要用户在她的框中安装了Python,我的应用程序就可以在该框上运行了。
对于用wxPython或pyQT编写的GUI应用程序,用户需要先在她的盒子中安装wxWidget或QT,这是一个额外的步骤,然后安装我的GUI应用程序。 (但是我的Ubuntu盒子似乎默认安装了wxWidget库和QT库,这是一个规范还是只是Ubuntu发行版对用户更友好?我猜Windows和Mac可能不会通过defualt提供它们,即用户需要下载并安装它们作为额外步骤)
答案 0 :(得分:8)
如果您正在运行Ubuntu,默认情况下将安装PyQt。大多数Linux发行版默认安装PyGtk或PyQt。 WxPython很可能安装在您的Ubuntu框中,作为系统中某些其他软件包的依赖项。
如果你的目标市场是Linux,你可以创建一个deb或rpm包,它将负责你的应用程序的依赖。
对于Windows和Mac(如果你是如此倾向于Linux,你可以将python解释器与你的应用程序及其库捆绑成本机可执行格式,如
as .exe,.dmg或.elf使用cx_freeze
,py2exe
和py2app
等库。完成此操作后,您的用户将无需安装python
或任何库。
答案 1 :(得分:4)
Tkinter是Python中唯一包含的。 wxPython和pyQT需要在系统上安装wxWindows或QT库和 wxPython或pyQT库。
然而,Tk看起来并不是很好。如果你已经让用户安装了Python,你也可以让他们安装这些库。 (或者可能包括安装人员或其他东西。)
答案 2 :(得分:2)
如果该应用是跨平台的,我会建议WxWidgets
(wxpython
)。我已经好几次使用它,这从来都不是问题。
然而,您应该为Windows,Mac和Linux创建不同的安装程序。在Linux中,使用.deb
或.rpm
来处理依赖关系。
在Windows中,我一直使用py2exe
来创建exe
文件。 Py2exe
通过附加python解释器和所需的库来工作,在本例中为wxWidgets
。
点击此链接了解详情:http://www.py2exe.org/