Reputation: 365
I'm trying to build a GTK+ application with PyDev 2.7.1 in Eclipse Helios on ubuntu 12.04. But Python cannot find the class gobject.GObject. I installed any gobject library i could find and tried several external library paths, like mentioned in these post pydev issue with gobject and How to resolve these unresolved imports in PyDev ( eclipse )?.
but anything worked so far. Does anyone know a workaround/solution ?
Regards Ck
import pygtk
pygtk.require("2.0")
import gobject
class MyClass(gobject.GObject):
...
the import
from gi.repository import GObject
doesn't work eather.
I also added /usr/lib/pyshared/python2.7, in which the gtk-2.0, gi and gobject modules are located, to my PYTHONPATH in Eclipse, but it made no difference.
I added a forced builtin for gi to the interpreter as well, but without effect.
here a bug is reported http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=649861 , but also that it has been solved since pygobject 3.0.2-4. my version of python-gobject is 3.2.2-1
The import works for the test script executed in PyDev and in a terminal:
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()
When I apply this to class MyClass(GObject.GObject) I get the following error:
ImportError: could not import gobject (error was: ImportError('When using gi.repository you must not import static modules like "gobject". Please change all occurrences of "import gobject" to "from gi.repository import GObject".',))
There is no import gobject
, only from gi.repository import GObject
.
Upvotes: 3
Views: 5013
Reputation: 365
I finally found it.
import gobject
class MyClass(gobject.GObject):
def __init__(self, channelstrip, name, s_type, mainWin):
gobject.GObject.__init__(self)
Upvotes: 1