13.04 Python gi._glib без атрибута GError

У меня есть приложение Python, которое без проблем запускалось 12.10, но при обновлении до 13.04 приложение завершается с ошибкой:

except gi._glib.GError, e:

AttributeError: у объекта 'module' нет атрибута 'GError' [ 112]

Есть ли изменения в библиотеках Python 2 Gtk, связанные с 13.04?

2
задан 26 April 2013 в 21:53

2 ответа

Функции, методы, атрибуты и т. Д. С подчеркиванием используются как внутренние методы в Python. Они могут быть изменены или удалены без предупреждения, поэтому лучше никогда не использовать их вне этого пакета.

Попробуйте следующее:

>>> from gi.repository import GObject, GLib
>>> GObject.GError
<class 'gi._glib.GError'>
>>> GLib.GError
<class 'gi._glib.GError'>

Это также работает в Ubuntu 12.10 и, возможно, раньше.

0
ответ дан 26 April 2013 в 21:53

Эта ошибка импорта возникает в Ubuntu 14.04, но не в Ubuntu 12.04. В основном из-за перехода с Python 2.x -> Python 3. Многие модули были переименованы или объединены. Python 3 НЕ обратно совместим с Python 2.x. Так что добавьте это в список ошибок.

ImportError: No module named 'gi._glib'

debian.org bugreport # 705387

from gi._glib import GError

становится

from gi.repository.GLib import GError
0
ответ дан 26 April 2013 в 21:53

Другие вопросы по тегам:

Похожие вопросы: