8

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

我目前的理解是,Tkinter 应用程序对用户(安装)来说是最容易的,因为只要用户在她的盒子中安装了 Python,我的应用程序就应该准备好在那个盒子上运行。

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

4

3 回答 3

8

如果您运行的是 Ubuntu,PyQt 将默认安装。大多数 linux 发行版将默认安装 PyGtk 或 PyQt 之一。WxPython 很可能作为系统中其他软件包的依赖项安装在您的 Ubuntu 机器中。

如果您的目标市场是 Linux,您可以只创建一个 deb 或 rpm 包,它会处理您的应用程序的依赖关系。

对于 Windows 和 Mac(甚至是 Linux,如果您愿意的话),您可以将 python 解释器与您的应用程序及其库捆绑成原生可执行格式,例如cx_freeze使用. 完成此操作后,您的用户将无需安装任何库。py2exepy2apppython

于 2012-10-01T05:38:15.060 回答
4

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

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

于 2012-10-01T00:42:46.030 回答
2

如果该应用程序将是跨平台的,我会建议WxWidgets( wxpython)。我已经用了好几次了,从来没有出现过问题。

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

在 Windows 中,我一直习惯于py2exe创建exe文件。Py2exe在这种情况下,通过附加 python 解释器和所需的库来工作wxWidgets

检查此链接以获取更多信息: http: //www.py2exe.org/

于 2012-10-01T08:00:19.337 回答