Как я могу исправить & ldquo; объект 'module' не имеет атрибута 'required_version' & rdquo; для & ldquo; gi.require_version ('Gtk', '3.0') & rdquo ;?

Я работаю с некоторыми людьми, чтобы создать поддельную программу обнаружения новостей и добился больших успехов, но из 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 gi.require_version('Gtk', '3.0') AttributeError: 'module' object has no attribute 'require_version'

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

sudo apt install gtk+-3.0

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

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

Файлы можно найти здесь, если вы хотите попробовать и воссоздать проблему, я в тупик, поэтому любая помощь приветствуется, и я попробовал несколько других предложений для исправления, такие как установка 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 gi.require_version("Gtk", "3.0") AttributeError: 'module' object has no attribute 'require_version' conesco3@Conesco3:~/Desktop$

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

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

/usr/local/lib/python2.7/dist-packages/gi/__init__.pyc

2
задан 30 October 2017 в 17:17

3 ответа

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

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

4
ответ дан 22 May 2018 в 17:00

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

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

4
ответ дан 18 July 2018 в 04:19

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

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

4
ответ дан 24 July 2018 в 18:03

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

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