导入的未定义变量:GObject

时间:2013-01-06 09:34:15

标签: python ubuntu-12.04

我正在尝试在ubuntu 12.04上的Eclipse Helios中使用PyDev 2.7.1构建一个GTK +应用程序。 但Python无法找到类gobject.GObject。我安装了任何gobject库,我可以找到并尝试了几个外部库路径,就像这些帖子中提到的那样 pydev issue with gobjectHow 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

1 个答案:

答案 0 :(得分:1)

我终于找到了它。

import gobject


class MyClass(gobject.GObject):

def __init__(self, channelstrip, name, s_type, mainWin):
    gobject.GObject.__init__(self)