LoginSignup
3
2

More than 3 years have passed since last update.

kivyの各環境を整えてみる

Last updated at Posted at 2017-02-17

前回、kivyを使うためにはいろんな環境が必要ということがわかりました。

ということで、各環境を構築して用意してみよう、という記事になります。

利用環境

  • Mac(構築済み)
  • Windows(こちらの記事にて、OSのセットアップまで完了済み)
  • CentOS7(こちらの記事にて、OSのセットアップまで完了済み)

CentOSならサクッと終わるだろ、と思ってたら、意外と大変な事実に気づかされてしまいました。
Cythonとかどうやってインストールするのか知らないレベルの人ですよ。

Linux環境(CentOS7版)

Ubuntu?Gentoo?Fedora?
CentOS7美味しいレス(^q^)
とか思ってたら、先ほどの通り、Cythonのインストールでorzってなってるアカウントがこちらです。

とりあえずCythonのインストールはみんな通る道のようなのですが、あえて先人たちの知恵はスルーして(ぉぃ)自力でインストールします。

そんなもんpipで入るやろ、とか思って気軽に試すと、こうなりました。

$ pip install cython
bash: pip: コマンドが見つかりませんでした...

おーい。ちくしょうー。pipもねー環境なのかよ、CentOSってザコは。
と愚痴を垂れても仕方ないので、下記の通りコマンドを実行して推し進めていきます。

$ sudo yum install epel-release
$ sudo yum install python-pip SDL2 SDL2_ttf SDL2_image SDL2_mixer gstreamer python-devel freeglut-devel
$ sudo pip install pip setuptools --upgrade
$ sudo pip install Cython
$ sudo pip install kivy pygame

他にも必要なライブラリあるかもしれませんが、2017年2月16日時点はこれでうまく行きました。

$ sudo pip install kivy
Requirement already satisfied: Kivy-Garden>=0.1.4 in /usr/lib/python2.7/site-packages (from kivy)
Requirement already satisfied: requests in /usr/lib/python2.7/site-package (from Kivy-Garden>=0.1.4->kivy)
Installing collected packages: kivy
  Running setup.py install for kivy ... done
Successfully installed kivy-1.9.1

初期のMacにkivyを導入した時と同様動作するかどうか軽くチェックします。

python xxxx.py

※ コードは末尾のおまけを参照

動作確認までOKでした。
次は、pyinstallerでビルドです。

python -m PyInstaller --name xxxx ./xxxx.py

これでビルドまで通りました。
実行もOKでした。
実 行 も O K で し た o r z

やっぱりかー、やっぱりそうですよねー。
環境毎に必要なのか…開発者泣くよ?

Window環境(Windows10 Pro)

基本的には、下記のインストール手順で進められましたが、ちょいちょい引っかかるところがあったので注意書きします。

kivy installation for windows

詰まったところとしては、3箇所です。

※ glewのインストール方法をまともに解説してるサイトがなく、glewをpythonのフォルダにインストールしてもリンクエラーになるので、お手上げすることにしました。

動いたら教えてください。再度チャレンジします。
Linux、Macがマジ神環境です。

おまけ

kivyの動作確認に利用したコード

import kivy

kivy.require('1.0.6')

from kivy.app import App
from kivy.uix.label import Label

class MyApp(App):
  def build(self):
    return Label(text='Hello world')

if __name__ == '__main__':
  MyApp().run()

※ Macの時は必要だったimport importlibがLinuxでは不要でしたので、やはり部分的に環境依存が生じるようです。

まとめ

疲れた。。。
マルチプラットフォーム開発ができるぞー、と喜んで開発環境構築してましたけど、Windowsの開発環境が全くわかりませんでした。
元Windowsユーザなのに。
MacやLinuxでの開発に比べると、Windowsの開発って結構煩わしいのかもしれません。
というか、MacやLinuxの開発環境の方が出揃ってる感じがしますね。

Windowsユーザに当分の間、戻ることはなさそうです。

3
2
2

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
3
2