2014-11-21 57 views
1

我已经在使用Gtk的python中编写了一个GUI应用程序。 不幸的是,我不得不迁移到一个新的操作系统,绝对不得不使用它的KDE桌面。在KDE上为Python导入Gtk typelib

现在蟒无法导入任何来自gi.repository, 子模块,尽管蟒蛇-GI的安装和最新:

from gi.repository import Gtk, GObject, GLib 

这似乎是在Linux上的一个普遍问题,即任何子模块 gi.repository的引用无法解析,但奇怪的是,python GUI仍然是可执行的,并且在所有Gnome系统(Ubuntu,Lubuntu,Linux Mint)上运行完美,我测试过它。

KDE并非如此。 运行代码产生以下错误:

ERROR:root:Could not find any typelib for Gtk 
Traceback (most recent call last): 
    File "folder/Program.py", line 2, in <module> 
    from gi.repository import Gtk, GObject, GLib 
ImportError: cannot import name Gtk 

我有点迷失如何克服这种错误。 我想我必须安装一些Gtk系统包/ typelib,但是哪一个?

在网上找不到任何东西。

任何建议热烈欢迎!

信息: 我使用KDE在Debian Wheezy上运行。

+0

你在哪个发行版上运行这个?答案每个分配都不相同;例如,在基于Debian/Ubuntu的系统上,您必须根据您想要定位的GTK +版本以及相应的'libgtk * -dev'来安装'gir1.2-gtk- [23] .0'版。 (至少我认为;我不知道他们是否需要为Python安装...;这就是为什么这是一个评论,而不是答案) – andlabs 2014-11-22 00:27:13

+0

谢谢。我使用KDE在Debian Wheezy上运行。 – 2014-11-22 12:07:39

+0

好的,我通过apt安装gir1.2-gtk3.0。现在,这个工作到现在为止,Gtk版本得到了认可。不幸的是,我得到一个gi._glib.GError:XXX_GUI.glade:需要gtk +版本3.10,当前版本是3.4。将打开一个新的线索,要求在这个问题上的协助。回答这个线程问题,我接受它。 – 2014-11-22 12:58:18

回答

1

答案因分布而异;例如,在基于Debian/Ubuntu的系统上,您必须安装gir1.2-gtk-[23].0,具体取决于您想要定位的GTK +版本以及适用于该版本的相应libgtk*-dev。 (至少我认为;我不知道他们是否需要为Python安装或不...)。

+0

我知道它没有开发包的工作。因人而异。 – Seth 2015-10-26 15:59:49