LoginSignup
5

More than 5 years have passed since last update.

kiviによるマルチプラットフォームのアプリ生成手順

Last updated at Posted at 2017-02-15

前回のまとめ

kivyの導入はできた。 (完)

早くも不定期連載の2回目になります。

今回やりたいこと

拡張子appを作ったり、拡張子exeを作ったりして、ワンクリックで起動したい!
もしくは起動できなくても、生成できるところまでは辿りつきたい!

またもや事前準備

appやexeを作るためにはbuildozerやpyinstallerというものが必要だそうです。
ほう…どうやって使うのか見せてもらおうか。
と思ったので、下記の記事をご覧ください。

Creating packages for OS X
Create a package for Windows

それぞれの環境について、書くのであれば、下記のような感じだそうです。

Mac OS

Mac OSの環境なので、Mac OSのアプリ作成 は簡単なよう です。
下記を実行すれば、buildozerをインストールできます。

pip install git+http://github.com/kivy/buildozer cd /to/where/I/Want/to/package buildozer init
$ pip install git+http://github.com/kivy/buildozer cd /to/where/I/Want/to/package buildozer init
Invalid requirement: '/to/where/I/Want/to/package'
It looks like a path. Does it exist ?

???
!?
cd /to/where/I/Want/to/package っておい!

改めてこちらを実行ください

pip install git+http://github.com/kivy/buildozer

動作確認

前回のサンプルを使います。

$ python xxx.py
$ buildozer osx release

その結果がこちら。

$ buildozer osx release
# Ensure build layout
No buildozer.spec found in the current directory. Abandon.
$ buildozer osx debug
# Ensure build layout
No buildozer.spec found in the current directory. Abandon.

debugするにしろ、releaseするにしろ、.specファイルが必要らしいです。
情報をもらおうと思って、サイトを辿ること1分ほど。

pip install -U pyinstaller

っていうのが見つかるので、実行しておきます。

そして、これを叩け、と言われた気がするので、実行してみます。

pyinstaller -y --clean --windowed --name touchtracer \
  --exclude-module _tkinter \
  --exclude-module Tkinter \
  --exclude-module enchant \
  --exclude-module twisted \
  ./xxx.py

ログが流れておられる…ドキドキ。

22442 INFO: moving BUNDLE data files to Resource directory

ってログが出力されたら、できたことになるらしい。
builddist ってフォルダができておられる。

一応できましたけど、中身は起動するようなアプリじゃないので、とりあえず作れるよ、というところまでですね。
中身はこの記事以降で頑張ります。

やってみた感じ、kiviをコマンドラインで起動するために学ぶのと、kiviから生成してアプリが使えるようになる記述は別っぽいですね。
最終目標は、マルチプラットフォームでアプリを作る、ということですので、後者を学んでいかなくてはならないようです。

Windows

続いて windowsですが、windowsは、実はpyinstallerがあれば良いらしいのですが、もうすでに導入済みです。

ということは何をすればよろしいんでしょう?

と、調べてみると、ものの数秒で答えが見つかりました。

動作確認

python -m PyInstaller --name touchtracer ./xxx.py

もしくは

python -m PyInstaller --name touchtracer --icon ./icon.ico ./xxx.py

で良いとのこと。

build/touchtracer/の中に touchtracer が存在しました。

Macより楽勝じゃん。

最後に

次回は、windowsでもmacでも動く、コマンドライン不要のkivyアプリの生成を行いたいと思います。
オラ、ワクワクしてきたぞ!

iOSとかAndroidはまた今度の機会にやってみましょうかね。
だいたい似たような感じでビルドできるようです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5