我正在尝试在我的ubuntu系统中安装python和pygtk。
我没有root访问权限,所以我需要在本地安装所有的包,比如/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,它可以正常工作,但我需要pygtk在python2.7中。那么我如何才能做到这一点呢?如果有任何好的文档可用于在用户空间本地安装python、pygtk、pygobject,请分享。
提前感谢
发布于 2015-02-06 20:01:36
通常,为了能够将构建链接到已经安装的内容,您需要将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文件中看到,该文件可以在运行配置脚本后在构建目录中找到。
发布于 2016-01-21 23:54:40
这个错误是由于pygobject和gobject-retrospection之间的兼容性造成的。为了避免这种情况,如果您的GTK很旧,请使用早于2.90.1的Pygobject构建。我在CentOS 5.5上使用了下面的代码来让它工作-
使用--disable-introspection
构建pygobject时禁用自省
https://stackoverflow.com/questions/22324680
复制相似问题