WindowsでKivyを使う

Windowsにpip install kivyをした後にスクリプトを動かそうとすると、次のようなエラーが出てしまう。


[WARNING] [Config      ] Older configuration version detected (0 instead of 20)
[WARNING] [Config      ] Upgrading configuration in progress.
[INFO   ] [Logger      ] Record log in C:\Users\xxx.kivy\logs\kivy_19-01-27_0.txt
[INFO   ] [Kivy        ] v1.10.1
[INFO   ] [Python      ] v3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)]
[INFO   ] [Factory     ] 194 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_pil, img_gif (img_sdl2, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: pil(['text_sdl2'] ignored)
[CRITICAL] [Window      ] Unable to find any valuable Window provider.
sdl2 - ImportError: DLL load failed: 指定されたモジュールが見つかりません。
File "C:\Program Files\Python36\lib\site-packages\kivy\core__init__.py", line 59, in core_select_lib
fromlist=[modulename], level=0)
File "C:\Program Files\Python36\lib\site-packages\kivy\core\window\window_sdl2.py", line 26, in <module>
from kivy.core.window._window_sdl2 import _WindowSDL2Storage

pip kivyだけでは足りなくて、以下の通りいくつかのパッケージを入れる。anacondaの場合はpipをcondaに読み替えてください。

pip install kivy
pip install docutils pygments pypiwin32 kivy.deps.sdl2
pip install kivy.deps.glew

さらに、日本語を出すためにはフォントのダウンロードして、設定する必要がある。
IPAフォントの場所

クラスの継承とオーバーライド

## オーバライドした関数が親クラスからも呼ばれる例


class base(): def __init__(self): return def a(self): print ("base") def b(self): self.a() class inhe(base): def __init__(self): return def a(self): print("infe") if __name__ == '__main__': inhe = inhe() inhe.b()

この結果はちゃんと

infe

となる。

Python らしいコード

Python らしいコードの書き方

私はCやPerlなどの言語で長くやってきてたのですがPythonは本当に初心者で、記法や変数の扱いが少し特殊なのですぐ忘れてしまう。最近はネットでサンプルがすぐ調べられるのですが、記法をまとめてくれているページがあるのでそれらを以下にリンクさせていただきます。私がこのページからアクセスさせていただきます。

リンク集