运行 ScreenFetch 时出现“ImportError:没有名为 glib 的模块”

运行 ScreenFetch 时出现“ImportError:没有名为 glib 的模块”

打开终端时,在 ScreenFetch 运行之前我得到了以下 4 行:

[[ ! ]] Traceback (most recent call last):
[[ ! ]]   File "/usr/bin/unity", line 21, in <module>
[[ ! ]]     import glib
[[ ! ]] ImportError: No module named glib

我假设我需要做的就是安装“glib”包,所以我运行:

sudo apt-cache search glib

尝试自己找到该包,但返回的结果多达数百条,我不确定哪一个才是我需要的。如果我从 bashrc 中删除 ScreenFetch,则不会出现任何错误。前 4 行之后,ScreenFetch 运行正常,我可以正常使用终端,只是有点烦人而已。

任何帮助都将非常感激。

编辑:抱歉,我忘记在我的 bashrc 文件中包括该行了。它在这里:

# start screenfetch
screenfetch

答案1

您需要安装 python gtk 库才能访问 python 的“glib”模块。在 15.10 中:

sudo apt-get install python-gtk2

答案2

该模块位于软件包中python-dbuspython3-dbus并位于其他一些软件包中,见下文。/usr/bin/unity依赖于 Python2。原因如下:

sudo apt-get install --reinstall python-dbus

可用列表glib.py

% apt-file search --regex /glib.py$                        
libglib2.0-0-dbg: /usr/share/glib-2.0/gdb/glib.py
python-dbus: /usr/lib/python2.7/dist-packages/dbus/glib.py
python-dbus: /usr/lib/python2.7/dist-packages/dbus/mainloop/glib.py
python-pyudev: /usr/lib/python2.7/dist-packages/pyudev/glib.py
python-ubuntu-kylin-sso-client: /usr/lib/python2.7/dist-packages/ubuntu-kylin-sso-client/ubuntu_kylin_sso/main/glib.py
python-ubuntu-kylin-sso-client: /usr/lib/python2.7/dist-packages/ubuntu-kylin-sso-client/ubuntu_kylin_sso/utils/runner/glib.py
python-ubuntu-sso-client: /usr/lib/python2.7/dist-packages/ubuntu-sso-client/ubuntu_sso/main/glib.py
python-ubuntu-sso-client: /usr/lib/python2.7/dist-packages/ubuntu-sso-client/ubuntu_sso/utils/runner/glib.py
python-ubuntuone-devtools: /usr/lib/python2.7/dist-packages/ubuntuone-dev-tools/ubuntuone/devtools/reactors/glib.py
python-xmmsclient: /usr/lib/python2.7/dist-packages/xmmsclient/glib.py
python3-dbus: /usr/lib/python3/dist-packages/dbus/glib.py
python3-dbus: /usr/lib/python3/dist-packages/dbus/mainloop/glib.py
python3-pyudev: /usr/lib/python3/dist-packages/pyudev/glib.py

答案3

这绝对是 Unity 的问题。编译 Unity 时,它没有在您的机器上正确构建 glib。我不会告诉您重新安装 Unity。如果程序仍然运行顺利,您就不必担心。

相关内容