13.04 Python gi._glib sem atributo GError

2

Eu tenho um aplicativo Python que foi executado sem problemas no 12.10, mas ao atualizar para o 13.04, o aplicativo falha com o seguinte erro:

except gi._glib.GError, e:

AttributeError: o objeto 'module' não possui atributo 'GError'

Existe uma alteração nas bibliotecas do Python 2 Gtk associadas ao 13.04?

    
por Bill Oldroyd 26.04.2013 / 19:53

2 respostas

4

Funções, métodos, atributos, etc com um sublinhado são usados como métodos internos no Python. Eles podem ser alterados ou excluídos sem aviso, por isso é melhor nunca usá-los fora desse pacote.

Tente o seguinte:

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

Isso também funciona no Ubuntu 12.10 e possivelmente mais cedo.

    
por Timo 27.04.2013 / 11:37
1

Este erro de importação ocorre no Ubuntu 14.04, mas não no Ubuntu 12.04. Basicamente, devido à transição do Python 2.x - > Python 3. Muitos módulos foram renomeados ou mesclados. O Python 3 NÃO é compatível com versões anteriores do Python 2.x. Então, adicione isso à lista das pegadinhas.

ImportError: No module named 'gi._glib'

debian.org relatório de erro # 705387

from gi._glib import GError

torna-se

from gi.repository.GLib import GError
    
por faulkmore 24.11.2014 / 09:46