python - 发布 pygtk 应用程序

标签 python linux pygtk

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

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

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

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

提前致谢

最佳答案

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

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

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

总结:

将pygtk配置为python需要遵循这些步骤

  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. 安装 pygtk(2.24.0) -> 需要 pygobject-2.28.3、pycairo(1.8.10)

以上所有包必须编译到相同的前缀,并且需要设置PYTHON和PATHONPATH环境变量。包的版本也起着重要作用。在括号中添加了对我有用的版本。

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

关于python - 发布 pygtk 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22191409/

相关文章:

linux - 尝试在 Windows 上使用 bash 并没有收到已安装的发行版消息

linux - 在 n 列中重新排列文件内容

python - PyInstaller 运行时错误? (R6034)

python - 根据另一个列表中的元素查找列表中的元素

linux - 套接字 FD 存储在哪里?

python - 最好的记录 python 友好的 GUI 构建器,如 GLADE

python - 将 Gtk.Widget 放入带有顶部填充的 Box 中

python - 如何在 Python 中更改 GtkTreeView 样式?

python - 如何深入比较 Python 中的嵌套类型

python - 有没有更高效、更优雅的方法来按日期过滤 pandas 索引?