2012-04-26 44 views
3

我有一个应用程序被困在python2.6。由于特定和复杂的扩展名,我无法将它移植到python2.7。如何从Ubuntu的源代码python2.6编译pygtk 12.04

问题是12.04将python2替换为python2.6,因为python2.7成为默认的python版本。

我需要然后从源代码为python2.6构建pygtk。我遵循自述文件,但我做错了什么。 (文档相当简洁)

构建看起来不错,因为我可以导入gtk,如果我在解压缩的归档文件夹中(我做了一个python -c'导入gtk')。 但make安装无法正常工作。

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

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

对这个配置有什么问题有任何想法吗?

回答

2

我不知道我是否比你更远,但这是我到目前为止所做的。也许我们可以一起解决这个问题。

$ sudo su 
# pip install pygtk 

这产生了一堆的错误,包括“要在支持的方式建立的PyGTK,阅读INSTALL文件。”读取和其他的东西,我想这:

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

此发现的Python版本是正确的,但现在找不到GLIB。错误包括,“这通常意味着GLIB安装不正确。”当我在config.log看,我发现这个错误,“致命的错误:glib.h:没有这样的文件或目录”。我发现a help page,这表明如果您尚未安装GLIB的开发版本,您可能会遇到此错误。

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

进展!我现在看到一个新的错误,“无包”pygobject-2.0“找到”。该错误出现在a forum post中,建议安装python-gobject-dev

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

没有错误,所以我尝试运行makemake install。第一个工作,但安装失败,出现错误,“/ bin/bash:第16行:../py-compile:Permission denied”。以root身份运行时,拒绝权限是很奇怪的。经过一段时间后,我回到配置脚本的输出中,看到一条消息,“检查PYCAIRO ... no”,然后是另一个消息,“由于缺少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丢失了。好吧,所有的模块都会生成,但是它说:“Numpy support:no”。

# make 
# make install 

这个失败与我之前看到的相同错误“/ bin/bash:第16行:../py-compile:Permission denied”。

我现在要离开它,稍后再回来。

1

尝试使用easy_install for 2.6,假设在你的Ubuntu上安装了2.6和2.7。你可以有easy_install(默认为2.7),easy_install-2.6可以安装2.6的专用包。