发布pygtk应用程序

时间:2014-03-05 07:34:44

标签: python linux pygtk

我开发了一个pygtk应用程序,我需要将它发布给客户。 我在ubuntu中使用python 2.7,pygtk 2.2。

我的问题是如何将所需的软件包(python,pygtk,gobject)与我的应用程序捆绑在一起,这样即使这些软件包没有安装在客户端机器上,我也可以运行我的应用程序。

我尝试使用pyinstaller但是,可执行文件依赖于glibc,即使用较高glibc版本创建的可执行文件不适用于具有较低glibc版本的机器。

那么有没有办法创建一个发布目录,其中包含所需的所有软件包,这样我就可以在任何系统中运行我的应用程序而无需安装软件包。

提前致谢,

1 个答案:

答案 0 :(得分:0)

只需将解决方案添加到我自己的问题中!

正如上面的评论中所建议的,通过下载源代码并在具有glibc2.5的机器中编译它们然后使用pyinstaller创建我的pygtk应用程序的二进制可执行文件

我之前也尝试过编译包,但没有正确检查./configure输出。问题是,我试图安装gtk和pygtk而不安装cairo和pango。所以pygtk跳过了构建gtk包,因为它没有找到任何cairo包。这在./ configure脚本中提到过,但我没有检查过。

汇总:

要将pygtk配置为python,需要执行以下步骤

  1. 安装sqlite-devel #If sqlite needed
  2. 安装python(2.7)
  3. install gtk(2.24.0) - >需要glib(2.27.3),atk(1.29.2),cairo(1.8.10),pango(1.22.4),gdk-pixbuf(2.21.3)
  4. install pygtk(2.24.0) - >需要pygobject-2.28.3,pycairo(1.8.10)
  5. 所有上述软件包必须编译为相同的前缀,并且需要设置PYTHON和PATHONPATH环境变量。包的版本也起着重要作用。在括号中添加了适用于我的版本。

    安装某些软件包时有很多依赖项,所以我不得不使用yum安装以下软件包: libxext,librender,gettext,zlib,libgtk2-devel