在用户的空间中安装python,pygtk

时间:2014-03-11 11:41:15

标签: python linux pygtk ubuntu-11.04

我正在尝试在我的ubuntu系统中使用pygtk安装python。

我没有超级用户权限,所以我需要在本地安装所有软件包,例如/ home / user / local / lib

我能够安装python,但是我无法将其他软件包(pygobject,pygtk等)链接到本地​​安装的python。 如果我尝试使用命令

在本地安装pygtk
./configure --prefix=/home/shrihari/local/lib/pygtk2.24/

它出现以下错误

checking for GLIB - version >= 2.8.0... yes (version 2.28.6)
checking for PYGOBJECT... yes
checking for gio-types.defs... no
checking for ATK... yes
checking for PANGO... yes
checking for codegen... configure: error: unable to find PyGObject codegen

我的默认python版本是python2.4。如果我尝试在python2.4中导入pygtk它工作正常但我需要在python2.7中的pygtk。 那我该怎么做呢? 如果有任何好的文档可用于在用户空间本地安装python,pygtk,pygobject请分享。

提前致谢

2 个答案:

答案 0 :(得分:1)

一般情况下,为了能够将构建链接到已安装的东西,您需要将LD_LIBRARY_PATH和(对于Python模块)PYTHONPATH设置为已安装该目录的目录""。所以在这个例子中,如果你安装带有前缀/ home / shrinari / local / python27的Python 2.7,你需要事后设置这样的系统变量(对于bash):

export LD_LIBRARY_PATH=/home/shrinari/local/python27/lib:$LD_LIBRARY_PATH
export PYTHONPATH=/home/shrinari/local/python27/lib/python2.7/site-packages:$PYTHONPATH
export PKG_CONFIG_PATH=/home/shrinari/local/python27/lib/pkgconfig:$PKG_CONFIG_PATH

之后,您可以尝试编译依赖于新Python安装的内容。 但是,根据提供的配置错误,我认为这对您的情况没有帮助。看起来PyGObject中缺少一些东西,可能只是头文件,也许是一些模块(我不知道PyGObject的细节)。无论如何,配置脚本无法找到的东西通常可以从config.log文件中更好地看到,该文件可以在运行configure脚本后在build目录中找到。

答案 1 :(得分:1)

此错误是由于pygobject和gobject-retrospection之间的兼容性。为了避免这种情况,如果您的GTK旧了,请使用早于2.90.1的Pygobject构建。我在CentOS 5.5上使用了以下功能 -

  1. pygobject-2.28.6 使用--disable-introspection

  2. 构建pygobject禁用内省时
  3. gobject-retrospection 1.32.1