2019年11月19日

Kivy アプリの Windows 用実行ファイルを作成するまで (準備編)

windows 8.1 Home 64bit で, Python がインストールされていない windows でも 実行できる Kivy アプリの exe を作製するまでの過程です.

長くなったので, Python, gcc 等をインストールする準備編, PyInstaller or Nuitka を使用する作製編に分割しました. 後日, ライセンス編も書く予定です.

私の場合, 作成したファイルをネットで公開するつもりなので, Python や gcc 等は 32bit を選択しています. ファイルのバージョンは, メモを書いていた時点での最新を選んでいます.

1. mingw-w64 32bit インストール

http://mingw-w64.org/doku.php/download/mingw-builds

で, Installation: Sourceforge をクリックするとページ遷移し, インストーラが自動的にダウンロードされます.

mingw-w64-install.exe

を実行し,

Ver 8.10
i686
posix
sjlj
0

を選択します.

デフォルトのインストールパスが長いので,

C:\mingw-w64\i686-8.1.0-posix-sjlj-rt_v6-rev0

に変更します.

環境変数の Path に

C:\mingw-w64\i686-8.1.0-posix-sjlj-rt_v6-rev0\mingw32\bin\

を追加します.

コマンドプロンプトを開き,

gcc -v

と入力し, いろいろと情報が出てきたら成功です.

2. Python3 32bit をインストール

https://www.python.org/downloads/windows/

から, Stable Releases の, Nuitka が対応している最新バージョン (現時点では 3.7.5) の Download Windows x86 executable installer をクリックしてインストーラをダウンロードします.

python-3.7.5.exe

を実行します.

Add Python 3.7 to PATH にチェックを入れ, Install Now をクリックします. Path は自動的に追加されるようです.

3. Kivy をインストール

コマンドプロンプトを管理者として開き, 以下の, '#' でコメントアウトしていない行を順に入力します.

python -m pip install --upgrade pip wheel setuptools
python -m pip install docutils pygments pypiwin32 kivy.deps.sdl2 kivy.deps.glew
#python -m pip install kivy.deps.gstreamer
#python -m pip install kivy.deps.angle
python -m pip install kivy

インストールが終わったら,

pip list

と入力し, Kivy がインストールされていることを確認します.

*コメントアウトした行について

#python -m pip install kivy.deps.gstreamer

Kivyを使い始める

には, "Kivyには既にオーディオとビデオのプロバイダがありますが、より高度なものにはGStreamerが必要です。" と書いてあります. また, 動画プレイヤーも入っているらしいです. 私には必要なさそうなので入れませんでした.

#python -m pip install kivy.deps.angle

Kivy Windows Hello Worldへの道 真っ黒画面

には, "OpenGl ESのDirectX実装" と書いてあります. 必要かどうかわからないので, 必要になった時点で入れれば良いのだろうと思います.

4. Kivy のエラー対策

Windows で kv ファイルを読み込む際にエラーが出るようなので,

C:\Users\ユーザー名\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\kivy\lang\

の (環境やバージョンによって場所は違うはず) builder.py を変更します.

if __debug__:
trace('Lang: load file %s' % filename)
with open(filename, 'r') as fd:
kwargs['filename'] = filename
data = fd.read()

with open(filename, 'r') as fd:

with open(filename, 'r', encoding='utf8') as fd:

に書き換えます.

5. PyInstaller をインストール (使用する場合)

python -m pip install pyinstaller

と入力し, 終了後,

pip list

と入力し, インストールされていることを確認します.

6. Nuitka をインストール (使用する場合)

python -m pip install nuitka

と入力し, 終了後,

pip list

と入力し, インストールされていることを確認します.

作製編 へ続きます.

posted by Takenoko at 12:48| Comment(0) | programming | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: