Python找到glib,但找不到_glib

3 投票
2 回答
5782 浏览
提问于 2025-04-17 01:49

我在Python(2.7)中尝试使用 import glib,结果遇到了以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/share/pyshared/glib/__init__.py", line 22, in <module>
    from glib._glib import *
ImportError: No module named _glib

看起来 glib 是找到了,但 _glib 却没有找到。

有没有人能给我一些解决这个问题的建议?我是在Ubuntu上运行,并且通过Ubuntu的包管理器安装了 python2.7python-gobjectpython-gdadbus

2 个回答

1

我在使用Ubuntu 10.04,系统自带的Python版本是2.6.6,GCC版本是4.4.5。在Python中使用“import glib”似乎没有问题。

我通过软件包管理器安装了“python-numpy”、“python-matplotlib”和“python-pyfits”,没有安装其他的,特别是没有从软件包网站上下载更新版本,因为之前的经验告诉我,这通常会带来很多麻烦。

但是,我发现/usr/share/pyshared/glib/这个文件夹不见了,我不知道这个文件夹是怎么来的。这个文件夹在你的路径或PYTHONPATH中吗?如果在的话,试着把它从路径中移除,然后再试一次“import glib”,可能是因为这个地方有glib的第二次安装(可能是其他软件包安装的,也许是需要的)。

glib是一个与C编译器的接口,所以在很多地方都会用到。你的GCC版本是什么?GTK也大量使用glib。你是通过软件包管理器安装“GTK”和“pygtk”,还是自己手动一个个安装的?如果是后者,建议你通过软件包管理器来安装。

我觉得这可能是某个Python扩展安装混乱导致的。最彻底的解决办法当然是重装系统,但我猜你不想这样,所以我建议你先卸载所有Python使用的包,然后再通过软件包管理器重新安装它们。

希望这些建议能帮到你……

3

我遇到过这个问题。

你可以试着把glib和相关的文件夹从python2.7的安装位置移出去,比如在ubuntu系统中,路径是/usr/shared/pyshared,可能是这些文件安装得不太对。

然后用系统的包管理工具把相关的包先删除再重新安装...

sudo apt-get remove 然后再用 sudo apt-get install

来安装...

python-gobject python-gtk libglib2.0-dev python-cario python-gi

因为如果这些包在pyshared文件夹里,我发现它们可能没有被正确地重新安装。

撰写回答