我正在尝试从https://bugzilla.gnome.org/show_bug.cgi?id=680569自己为meld应用补丁,但我遇到了麻烦:
$ git clone git://git.gnome.org/meld
$ cd meld
$ python setup.py build
$ bin/meld
2014-01-11 16:30:44,736 ERROR root: Could not find any typelib for GtkSource
Cannot import: GtkSourceView
cannot import name GtkSource
我对Python知之甚少,例如不知道(还)Python的类型库是什么 - 启发我! ;-)我环顾四周,模糊地认为这与异国情调的水果有关;)名为gir,但这似乎没有帮助:
$ sudo apt-get install gir1.2-gtk-3.0
gir1.2-gtk-3.0 is already the newest version.
$ sudo apt-get install gir1.2-gtk-2.0
The following NEW packages will be installed:
gir1.2-gtk-2.0
Setting up gir1.2-gtk-2.0 (2.24.20-1ubuntu1) ...
$ bin/meld
2014-01-11 16:32:24,133 ERROR root: Could not find any typelib for GtkSource
Cannot import: GtkSourceView
cannot import name GtkSource
我错过了什么?谢谢!
答案 0 :(得分:11)
在Debian / Ubuntu机器上安装所需的库:
sudo apt-get install gir1.2-gtksource-3.0
GtkSourceView是一个C库,它允许应用程序显示一个文本缓冲区,其中包含代码的语法高亮显示以及其他一些好东西。
https://wiki.gnome.org/Projects/GtkSourceView
以上包装有以下描述:
GtkSourceView是一个文本小部件,它扩展了标准的GTK + 3.x文本小部件GtkTextView。它通过实现语法高亮和其他来改进GtkTextView 源编辑器的典型特征。该软件包包含gobject内省信息。
由于Gtk + 3.0,有一个名为 Introspection 的系统,允许分析用C编写的源代码,以动态生成其他语言的绑定,如Python,Vala等。 gir 适用于GObject Introspection Repository(我不确定 R )。举例:
GObject内省是C库(使用GObject)和语言绑定之间的中间件层。除了实际的本机C库之外,还可以在编译时扫描C库并生成元数据文件。然后在运行时,语言绑定可以读取此元数据并自动提供绑定以调用C库。