やりたかったこと
Windows環境のPython3でGTK+3を使いたかった。
ハマった時の環境
- Windows 10
- Python 3.5.2
何が起きたか
PythonのインストールからPyGObjectの導入まで、何もかも上手く行っていた。
が、しかし。
>>> import gi
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'gi'
大事なものがimport出来ない…
結論
PyGObjectがPython3.5以上に対応してなかった。
一旦全部消してPython3.4をインストールして、PyGObjectを導入し直したら動いた。
ちなみにPython3.4.5のWindows版が見当たらなかったので3.4.4をインストールしました。
正しい導入方法
ここからは必要な人以外スルーして大丈夫です。
まず公式サイトからPython3.4.4のインストーラーを落としてくる。
手順に従ってインストールしてください。
パスを通すオプションがデフォルトではオフになっているので、そこだけ直すように。
Pythonがインストール出来たら今度はPyGObjectの方をインストールします。
PyGObjectのページのWindows installers with Gtk3 supportというリンクからダウンロードページに飛び、最新のpygi-aio-*setup_*.exeをダウンロードしてください。
あとはインストーラーに従って、Pythonのパスを選択し、インストールしたいライブラリを選択(ここではGTK+)してそのままインストール完了。
初回はFontconfigのfc-cacheが動くので、真っ黒のコンソール画面がしばらく表示され続けますが、勝手に閉じるのを待ちましょう。
インストール後はPythonのインタプリタを開いて、
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
win = Gtk.Window()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
このコードが正常に動作することを確認してください。
単純にウィンドウが表示されるだけです。
あとはチュートリアルを読みながらコードを書きましょう。