3

我有一个卡在 python2.6 的应用程序。由于特定和复杂的扩展,我无法将其移植到 python2.7。

问题是 12.04 删除了 python2.6 的 pygtk,因为 python2.7 成为默认的 python 版本。

然后我需要从源代码为 python2.6 构建 pygtk。我已按照自述文件进行操作,但我做错了什么。(文档很简洁)

构建看起来不错,因为如果我在解压缩的存档文件夹中,我可以导入 gtk(我执行python -c 'import gtk')。但是 make install 不能正常工作。

AFAICT,我已将 PYTHON 和 PYTHONPATH 变量导出到正确的路径。

PYTHONPATH=/usr/lib/python2.6/dist-packages
PYTHON=/usr/bin/python2.6

知道这个配置有什么问题吗?

4

2 回答 2

2

我不知道我是否比你走得更远,但这就是我目前正在做的事情。也许我们可以一起解决这个问题。

$ sudo su
# pip install pygtk

这会产生一堆错误,包括“要以受支持的方式构建 PyGTK,请阅读安装文件”。在阅读了该内容和其他内容后,我尝试了以下操作:

# cd build/pygtk
# chmod 755 configure
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

这会找到正确的 Python 版本,但现在找不到 GLIB。错误包括,“这通常意味着 GLIB 安装不正确。” 当我查看时,config.log我发现了这个错误,“致命错误:glib.h:没有这样的文件或目录”。我找到了一个帮助页面,提示如果您尚未安装 GLIB 的开发版本,您可能会收到此错误。

# apt-get install libglib2.0-dev
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

进步!我现在看到一个新错误“找不到包 'pygobject-2.0'”。该错误出现在带有安装建议的论坛帖子python-gobject-dev中。

# apt-get install python-gobject-dev
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

没有错误,所以我尝试运行makemake install. 第一个有效,但安装失败并出现错误“/bin/bash: line 16: ../py-compile: Permission denied”。以 root 身份运行时,权限被拒绝很奇怪。经过一段时间后,我回到配置脚本的输出并看到一条消息,“正在检查 PYCAIRO...否”,然后是另一条消息,“由于缺少 pycairo 而没有检查 gtk”。一点点猜测让我安装了另一个模块。

# apt-get install python-cairo-dev
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

这解决了 pycairo 投诉,但还有更多,包括 GTK。

# apt-get install python-gtk2-dev
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

这解决了大部分投诉,只是缺少 LIBGLADE。

# apt-get install libglade2-dev
# PYTHON=/usr/bin/python2.6 ./configure --prefix=/usr

好的,所有模块都将被构建,但它显示“Numpy 支持:否”。

# make
# make install

这会失败并出现我之前看到的相同错误“/bin/bash: line 16: ../py-compile: Permission denied”。

我暂时把它留在这里,稍后再回来。

于 2012-06-05T22:22:36.540 回答
1

尝试对 2.6 使用 easy_install,假设在您的 ubuntu 中安装了 2.6 和 2.7。您可以使用 easy_install(默认为 2.7)和 easy_install-2.6 来安装 2.6 的专用软件包。

于 2012-05-26T12:02:40.040 回答