我试图访问更新管理器中的设置来设置自动更新。但设置对话框没有弹出。也无法从 Ubuntu 软件中心 > 编辑 > 软件源... 访问软件源。当我尝试从终端运行软件源时,出现以下错误。
$ sudo software-properties-gtk
Traceback (most recent call last):
File "/usr/bin/software-properties-gtk", line 26, in <module>
gi.require_version('Gtk', '2.0')
File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 46, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Gtk not available
我理解该软件包正在寻找 GTK 命名空间,并且需要 Gtk 版本 2.0。尝试检查安装了哪个版本的 GTK,我运行以下命令并得到
$ apt-cache showpkg libgtk2.0-0 | more
Package: libgtk2.0-0
Versions:
2.24.4-0ubuntu2 (/var/lib/apt/lists/Ubuntu%2011.04%20%5fNatty%20Narwhal%5f%20-%2
0Release%20i386%20(20110426)_dists_natty_main_binary-i386_Packages) (/var/lib/ap
t/lists/us.archive.ubuntu.com_ubuntu_dists_natty_main_binary-i386_Packages) (/va
r/lib/dpkg/status)
Description Language:
File: /var/lib/apt/lists/Ubuntu%2011.04%20%5fNatty%20Narwhal%5f
%20-%20Release%20i386%20(20110426)_dists_natty_main_binary-i386_Packages
MD5: 3ed10be69b676a812afff2c7fdaa4017
如何让软件源运行?
更新:
找到相关问题这里.我安装了python2.5,但是没有设置符号链接,上面的日志提到了python2.7
答案1
我遇到了同样的问题,最后终于解决了!仅供参考,重新安装上述软件包没有帮助。这就是我所做的。
根据pygi 文档,如果你输入
python -c 'from gi.repository import Gtk; print Gtk'
你应该得到
<gi.module.DynamicModule 'Gtk' from '/usr/lib/girepository-1.0/Gtk-3.0.typelib'>
(Gtk-2.0 取决于您安装的版本。我有 Gtk-2.0。)
这给了我线索。Gtk 类型库确实在那里,但我怀疑girepository-1.0
我的文件系统中可能还有另一个目录优先。使用命令,locate
我找到了它/usr/local/lib
以及几个libgirepository-1.0*
库。这个目录不包含 Gtk 类型库。所以我只是将它与库一起删除,问题就解决了。
答案2
由于 software-properties 是一个 Python 应用程序,它实际上依赖于 package gir1.2-gtk-2.0
。如果你没有安装这个包,那么依赖关系就被破坏了。使用 Synaptic 检查一下。
否则,重新安装受影响的软件包可能会有帮助:
sudo apt-get install --reinstall gir1.2-gtk-2.0 python-software-properties software-properties-gtk
答案3
与上述解决方案相同,只是我在 /usr/local 目录中创建了一个指向 /usr/lib/girepository-1.0 的软链接。我还重命名了旧目录。
ls -l
drwxr-xr-x 2 root root 4,0K loka 14 14:08 girepository-1.0_old
lrwxrwxrwx 1 根 根 25 loka 14 14:10 girepository-1.0 -> /usr/lib/girepository-1.0
否则就行不通了。