web-dev-qa-db-ja.com

「gi.require_version( 'Gtk'、 '3.0')」の「 'module'オブジェクトに属性 'required_version'」がないのを修正するにはどうすればよいですか?

私は何人かの人々と一緒に偽のニュース検出プログラムを構築し、いくつかの大きな進歩を遂げていますが、グループの5人のメンバーのうちPythonプログラムを実行できるのは1人だけです。私は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部分を作成するGladeをインストールして、修正を試みました。しかし、それでもこのエラーはなくなりませんでした。

ファイルはここにあります 問題を再現して再現したい場合は困惑しているので、助けをいただければ幸いです。また、python-gobjectのインストールなどの修正のためにいくつかの他の提案を試みましたが、問題。

小規模なプログラムを実行して同じエラー( screenshot )を取得できます。このプログラムは問題を生成するのに十分です:

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
Neil Boyd

インポートするgiモジュールは、UbuntuのGIパッケージpython-giからのものではなく、/usr/local/に手動でインストールしたものです。それは非常に古いバージョンか、たまたまgiと呼ばれるようになったものでもあります。

削除して、パッケージpython-giがインストールされていることを確認してください。

4
Florian Diesch