2014-03-05 39 views
1

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

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

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

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

在此先感谢,

+0

下载所有必要的资源,写一个makefile。 – michaelmeyer

+0

应该在makefile中添加什么?我无法安装这些软件包,因为我无权这样做。你能提供任何文件/例子吗? – user2109788

+0

难道你不能安装到本地前缀? (像〜/ .local /) –

回答

0

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

作为下载源代码中安装的软件包上述意见建议,并在一台机器有glibc2.5编译它们然后使用创造了我的PyGTK应用程序的二进制可执行pyinstaller

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

汇总:

要配置的PyGTK到Python需要folow中这些步骤

  1. 安装的sqlite-devel的#如果sqlite的需要
  2. 安装python(2.7)
  3. 安装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)

以上所有包必须编译为相同的前缀,并且需要设置PYTHON和PATHONPATH环境变量。软件包的版本也起主要作用。在为我工作的括号中增加了版本。

有很多依赖,同时安装一些包,所以我不得不安装以下用yum包: libxext,librender,gettext的,zlib的,libgtk2-devel的

+0

这是什么环境变量'PATHONPATH'?它的目的是什么? – AjayKumarBasuthkar

+0

@AjayKumarBasuthkar我希望这个链接可以帮助http://stackoverflow.com/questions/19917492/how-to-use-pythonpath – user2109788