Windows
Python3
gtk

WindowsのPython3でGTK+3を使う際にハマったこと

More than 1 year has passed since last update.


やりたかったこと

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のインストーラーを落としてくる。

手順に従ってインストールしてください。

パスを通すオプションがデフォルトではオフになっているので、そこだけ直すように。

pyinst.png

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

このコードが正常に動作することを確認してください。

単純にウィンドウが表示されるだけです。

あとはチュートリアルを読みながらコードを書きましょう。


参考

python - gi.repository Windows - Stack Overflow