Я работаю с некоторыми людьми для создания программы обнаружения фейковые новостей и сделал некоторые большие успехи, но из 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
gi
модуль, который Вы импортируете, не является тем от пакета Ubuntu GI python-gi
но что-то Вы установили вручную в /usr/local/
. Это - или очень старая версия или что-то другое, что просто, оказалось, назвали gi
, также.
Удалите его и удостоверьтесь пакет python-gi
установлен.