Estou trabalhando com algumas pessoas para criar um programa falso de detecção de notícias e fiz um grande progresso, mas, dentre cinco membros do grupo, apenas uma pessoa pode executar o programa em Python. Estou executando uma instalação limpa do Ubuntu 16.04 que tem apenas algumas horas e a pessoa que pode executar o programa tem o Fedora 26. O erro que recebo ao tentar executar o programa é:
conesco3@Conesco3:~/Documents/Alternative-News-Checker$ sudo python main.py
[sudo] password for conesco3:
Traceback (most recent call last):
File "main.py", line 6, in <module>
gi.require_version('Gtk', '3.0')
AttributeError: 'module' object has no attribute 'require_version'
Eu fui e instalei o gtk + -3.0 com:
sudo apt install gtk+-3.0
Mas isso não ajuda.
Eu também instalei o Glade, com o qual a parte UI do programa é feita, para tentar corrigi-lo. Mas isso também não fez com que esse erro fosse embora.
Os arquivos podem ser encontrados aqui se você quiser tentar recriar o problema, estou perplexo ajuda é apreciada e eu tentei várias outras sugestões para correções como instalar o python-gobject
e elas não corrigiram o problema.
Eu posso executar um programa de menor escala e obter o mesmo erro ( captura de tela ). Este programa é suficiente para produzir o problema:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
window = Gtk.Window(title="Hello World")
window.show()
window.connect("delete-event", Gtk.main_quit)
Gtk.main()
A execução desse programa simplificado se parece com isso:
conesco3@Conesco3:~$ cd Desktop/
conesco3@Conesco3:~/Desktop$ python2 hello.py
Traceback (most recent call last):
File "hello.py", line 2, in <module>
gi.require_version("Gtk", "3.0")
AttributeError: 'module' object has no attribute 'require_version'
conesco3@Conesco3:~/Desktop$
EDIT: Após sugestões feitas por outra pessoa, criei um ambiente virtual e canalizei os requisitos do computador do Fedora para um arquivo txt e, no ambiente virtual, instale-os novamente; isso dá o mesmo erro.
A saída de python2 -c 'import gi; print(gi.__file__)'
é:
/usr/local/lib/python2.7/dist-packages/gi/__init__.pyc