Вот этот код:
import gudev
from gi.repository import GObject
def f():
pass
client = gudev.Client([])
client.connect('uevent', f)
loop = GObject.MainLoop()
loop.run()
Traceback (most recent call last):
File "gudev-test.py", line 11, in <module>
from gi.repository import GObject
File "/usr/lib64/python2.7/site-packages/gi/__init__.py", line 32, in <module>
raise ImportError('When using gi.repository you must not import static '
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".
/usr/lib64/python2.7/site-packages/gobject/constants.py:24: Warning: g_boxed_type_register_static: assertion 'g_type_from_name (name) == 0' failed
import gobject._gobject
А если вместо GObject из gi.reporitory использовать старый gobject, то все работает.
Как объяснить происходящее?