もちっとメモ

もちっとメモ

管理人のホームページで書ききれていない調べ物のメモページです

PythonでGUIアプリ作りたくなったので、Kivyを入れてみた

最近、私的にも仕事でもpythonを使う機会が増えてきました。ちょうど、qiitaの方でありがた過ぎる記事に出会ったこともあって、この機にpythonGUIアプリケーションを作ってみようと思いました。

qiita.com

この中で紹介されていたGUIアプリケーション作成環境はKivyというものでした。

Kivy - Wikipedia

というわけで早速インストールを試みました。今回はこれらのサイト様のお力を借りてインストールしました。

Kivy 超入門(1):インストールからHello, World! まで

qiita.com

私は、pythonはanaconda経由で3.6をすでにインストール済みだったので、kivyとその関連ライブラリーのインストールからはじめました。公式に書いてある通り、

python -m pip install --upgrade pip wheel setuptools

でインストールを試みたのですが、いきなりコケました。なぜかオンラインでsetuptoolsがインストールできませんでした。仕方ないので、ブラウザからダウンロードしてきて

pypi.python.org

オフラインインストールをしました。やり方は単純で、

  1. pipが使えるコンソール(windowsでanacondaを入れているならAnacondaのプロンプト、macならterminal)を開いて、ダウンロードしてきた「setuptools-38.2.1-py2.py3-none-any.whl」などの名前のファイルと同じディレクトリに移動します。
  2. 移動先で
    pip install setuptools-38.2.1-py2.py3-none-any.whl
    を実行します。

基本的にはこの2ステップだけで入るはずです。色々メッセージが出て、最後に

Successfully installed setuptools-38.2.1

などの成功メッセージが出れば成功です。

次にdocutilsとpygmentsとpypiwin32とsdl2とglewをインストールします。

python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew

ここでも何かのインストールで失敗しました。人によってはなくてもいいライブラリもあるので今回は無視。必要があれば、何がないのかわかった時点で再インストールすることにします。ライブラリの詳細は公式を参考にどうぞ。

Installation on Windows(翻訳済み) — Kivy 1.10.0 ドキュメント

Simple DirectMedia Layer - SDL version 2.0.7 (stable)

次に、映像や音声系のライブラリgstreamerのインストール。

python -m pip install kivy.deps.gstreamer

今回は3.6なのでangleは飛ばします。最後にKivyについてもインストール。

python -m pip install kivy

実行して

Successfully installed Kivy-Garden-0.1.4 kivy-1.10.0

などのメッセージが出れば成功です。具体的にどれか必須かはわかりませんが、上述のどれかがないとKivyのインストールに失敗します。私の場合は、setuptoolsがないせいでした。メッセージがいっぱい出て面食らうかもしれませんが、だいたい最後に出るメッセージを読めば、何に失敗したかくらいはわかります。私の場合は、を実行したら、

Could not import setuptools which is required to install from a source distribution.
Please install setuptools

などと出ました。これを見れば、「あぁ、setuptoolsがないから怒られているのね」ということぐらいはわかるかと思います。ないものがわかったら、pipでインストールを試みる、オンラインインストールに失敗したら、ブラウザ経由でダウンロードしてオフラインでインストールする。これで大半は解決できると思います。ちなみにmacの私は、Kivyはインストールできたのですが、サンプルコードを実行したら、pygameがないと怒られました。さらにpygameのインストールにはsdlがいるのでこれから先にインストール。

qiita.com

無事、sdlpygameの順で無事インストール成功。pygameをオフラインインストールするならこちらを参考にすれば落とせます。

gamepro.blog.jp

Kivy 超入門(1):インストールからHello, World! まで

に習って


from kivy.app import App
from kivy.uix.label import Label
 
class IntroKivy(App):
    def build(self):
        return Label(text="Hello, World!")
 
if __name__ == "__main__":
    IntroKivy().run()

を実行すると、コンソール上はなんかまだエラーを吐いている気もしましたが、とりあえず"Hellow World"の画面が表示されました。やったね。

f:id:T-N-Clark:20171128004402p:plain

これからもう少し遊んで、冒頭の教科書に習って簡単なアプリを作ってみようと思います。長文、駄文ではありますが、ご参考になれば幸いです。ではまた。

〜参考〜冒頭の教科書以外でKivy基本文法を学ぶときに参考になりそうなサイト様

qiita.com

qiita.com

Anacondaのライブラリとの連携

laughingman-log.blogspot.jp