我正在尝试在ubuntu 12.04上的Eclipse Helios中使用PyDev 2.7.1构建一个GTK +应用程序。 但Python无法找到类gobject.GObject。我安装了任何gobject库,我可以找到并尝试了几个外部库路径,就像这些帖子中提到的那样 pydev issue with gobject和How to resolve these unresolved imports in PyDev ( eclipse )?。
但到目前为止一切都有效。有没有人知道解决方法/解决方案?
此致 CK
import pygtk
pygtk.require("2.0")
import gobject
class MyClass(gobject.GObject):
...
导入
from gi.repository import GObject
不起作用。
我还将/usr/lib/pyshared/python2.7添加到我在Eclipse中的PYTHONPATH中,其中gtk-2.0,gi和gobject模块位于其中,但它没有任何区别。
我还为解释器添加了强制内置的gi,但没有效果。
这里报告了一个错误http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649861,但是自pygobject 3.0.2-4以来它已经解决了。我的python-gobject版本是3.2.2-1
导入适用于在PyDev和终端中执行的测试脚本:
from gi.repository import GObject, Gtk
class Test(GObject.GObject):
def __init__(self):
GObject.GObject.__init__(self)
print ("test")
def main(self):
print ("Import has worked")
print (__name__)
if __name__ == '__main__':
test = Test()
test.main()
当我将它应用于类MyClass(GObject.GObject)时,我收到以下错误:
ImportError:无法导入gobject(错误是:ImportError('当使用gi.repository时,你不能导入像“gobject”这样的静态模块。请将所有出现的“import gobject”更改为“from gi.repository” import GObject“。',))
没有import gobject
,只有from gi.repository import GObject
。
答案 0 :(得分:1)
我终于找到了它。
import gobject
class MyClass(gobject.GObject):
def __init__(self, channelstrip, name, s_type, mainWin):
gobject.GObject.__init__(self)