То, как я фиксирую “объект 'модуля', не имеет никакого атрибута 'required_version'” для “gi.require_version ('Gtk', '3.0')”?

Я работаю с некоторыми людьми для создания программы обнаружения фейковые новостей и сделал некоторые большие успехи, но из 5 членов группы только 1 человек может запустить программу Python. Я выполняю чистую установку Ubuntu 16.04, которая является только несколькими старыми часами и человек, который может запустить программу, имеет Fedora 26. Ошибка, которую я получаю при попытке запустить программу:

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'

Я пошел и установил gtk +-3.0 с:

sudo apt install gtk+-3.0

Но это не помогает.

Я также установил Поляну, с которой сделана часть UI программы, чтобы попытаться зафиксировать его. Но это не совершало эту ошибку, уходят также.

Файлы могут быть найдены здесь, если Вы хотите попытаться воссоздать проблему, я озадачен так, любая справка ценится, и я попробовал несколько других предложений за меры как установка python-gobject и они не решили проблему.

Я могу запустить программу меньшего масштаба и получить ту же ошибку (снимок экрана). Эта программа достаточна для создания проблемы:

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()

Запущение, которое упростило программу, похоже на это:

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$

Править: После предложений, сделанных кем-то еще, я создал виртуальную среду и передал требования по каналу от компьютера Fedora в txt файл, и в виртуальной среде устанавливают их снова; это дает ту же ошибку.

Вывод python2 -c 'import gi; print(gi.__file__)' :

/usr/local/lib/python2.7/dist-packages/gi/__init__.pyc
2
задан 30 October 2017 в 16:17

1 ответ

gi модуль, который Вы импортируете, не является тем от пакета Ubuntu GI python-gi но что-то Вы установили вручную в /usr/local/. Это - или очень старая версия или что-то другое, что просто, оказалось, назвали gi, также.

Удалите его и удостоверьтесь пакет python-gi установлен.

4
ответ дан 2 December 2019 в 02:14

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

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