У меня есть приложение Python, которое без проблем запускалось 12.10, но при обновлении до 13.04 приложение завершается с ошибкой:
except gi._glib.GError, e:
AttributeError: у объекта 'module' нет атрибута 'GError' [ 112]
Есть ли изменения в библиотеках Python 2 Gtk, связанные с 13.04?
Функции, методы, атрибуты и т. Д. С подчеркиванием используются как внутренние методы в Python. Они могут быть изменены или удалены без предупреждения, поэтому лучше никогда не использовать их вне этого пакета.
Попробуйте следующее:
>>> from gi.repository import GObject, GLib
>>> GObject.GError
<class 'gi._glib.GError'>
>>> GLib.GError
<class 'gi._glib.GError'>
Это также работает в Ubuntu 12.10 и, возможно, раньше.
Эта ошибка импорта возникает в Ubuntu 14.04, но не в Ubuntu 12.04. В основном из-за перехода с Python 2.x -> Python 3. Многие модули были переименованы или объединены. Python 3 НЕ обратно совместим с Python 2.x. Так что добавьте это в список ошибок.
ImportError: No module named 'gi._glib'
from gi._glib import GError
становится
from gi.repository.GLib import GError