WindowsにKivyをインストール

2015/08/24

Kivy 1.9.0

追記:1.9.1から簡単になったっぽい。PIPだけでいける。ポータブル版とかなくなってるし


以下は古い情報

ポータブル版で良ければダウンロードして解凍するだけ。

User’s Guide » Installation on Windows
http://kivy.org/docs/installation/installation-windows.html

ただし、batファイルから実行する必要があり、開発するには少々面倒。

既存のPythonにインストールするための正攻法は↓

Using Kivy with an existing Python installation on Windows (64 or 32 bit)
https://github.com/kivy/kivy/wiki/Using-Kivy-with-an-existing-Python-installation-on-Windows-%2864-or-32-bit%29

結構やることが多いうえ、ビルドする必要があり、dllのバージョンやヘッダーファイル等が微妙に違うと、コンパイルエラーが出る。
すんなりいけば良いが、ハマると抜け出せなくなり、発狂する。ええ、したとも。


非正攻法

コピペだけでインストールする

とりあえずポータブル版Kivyに入っているPythonをKivyがインストールされたPythonにする

要はkivy.batから実行させなくても、pythonがkivyをimportできるようにする。
それを正規のPythonとしてパスを設定(環境変数 or レジストリ)してやれば、開発環境からKivyを実行できる。

上記のポータブル版(例:Kivy-1.9.0-py2.7-win32-x86)をダウンロード&解凍すると、以下のフォルダ・ファイルがある

gstreamer
kivy27
MinGW
Python27
SDL2
tools
kivy-2.7.bat
kivy-bash-2.7.bat
kivybash-2.7.rc
kivyenv-2.7.sh
kivywineenv-2.7.sh
README.txt

MinGW、gstreamer、SDL2、Python27を任意の場所に移動。移動しなくてもよいけど。

環境変数の設定
GST_REGISTRY
C:\path\gstreamer\registry.bin

KIVY_SDL2_PATH
C:\path\SDL2\lib;C:\path\SDL2\include\SLD2;C:\path\SDL2\bin;

USE_SDL2
1

GST_PLUGIN_PATH
C:\path\gstreamer\lib\gstreamer-1.0

PATH
C:\path\Python27;
C\path\Python27\Scripts;
C:\path\gstreamer\bin;
C:\path\MinGW\bin;
C:\path\SDL2\bin;


kivyの移動

  • kivy27\build\temp.win32-2.7\Release\kivykivy27\kivy にコピー
  • その kivy27\kivy を Python27\Lib\site-packages\kivy にコピー

これだけで、このPython27にはkivyがインストールされたはず。

テストスクリプトで試すといいよ

from kivy.app import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')

TestApp().run()



やっぱり今あるPythonに入れたい

今のPythonには色々インストールしてあるし、このまま使いたい。っと思った時もコピペだけでいける(場合もある)。
kivyを移動したポータブル版のPython27から既存のPythonに、以下をコピー

  • Python27直下のdll
  • Python27\Lib\distutils\distutils.cfg
  • Python27\include\GL
  • Python27\libs\ の中の無いもの(コピーして既存ものをスキップすると良い)
  • Python27\Lib\site-packagers\kivy

そして、PygameとCythonをインストール
(環境変数のPathはインストールしたいPythonのパスにしとく)

Pygame

普通にインストーラ(msi)から

Pygame Downloads
http://www.pygame.org/download.shtml

Cython

pipから。Python27ならpipは最初から入ってるはず

pip install cython

さあ、どうだ?

これで動けば問題ないが、DLLが初期化されないかなんだかでエラーが出る場合は、ビルドが必要。

ポータブル版の元々のkivy\kivy27を用意し、それでビルドしてみる。

cd C:\path\Kivy-1.9.0-py2.7-win32-x86\kivy27
python setup.py install

これでどうだー?