LoginSignup
22
21

More than 5 years have passed since last update.

Mac環境にてKivyをインストールしてみた

Posted at

やりたいこと

  • Macでkivyが使える開発環境を用意する

Kivy

KivyはPythonのNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境はAndroid、iOS、Linux、MacOS X、Windowsである。MITライセンスで配布されているフリーのオープンソースソフトウェアである。

refs

はまったこと

  • cythonをいれてからのkivyいれても、pygameが必要

pyenvにて

  • とりあえず入っている前提で今回は、3系で 3.4.2
% pyenv local
3.4.2
% python --version
Python 3.4.2

kivy 1.8.0をすんなりいれることができなかった

  • pip install kivy でインストールできない
    • というより、 1.8.0 がすんなりインストールできない
  • エラー例 ... cython先にいれるの?
% pip install kivy
Downloading/unpacking kivy
Running setup.py (path:/private/var/folders/3z/sspq04dx20n3559n0fx1p39w0000gn/T/pip_build_hoge/kivy/setup.py) egg_info for package kivy
Cython is missing, its required for compiling kivy !

Traceback (most recent call last):File "<string>", line 17, in <module>File "/private/var/folders/3z/sspq04dx20n3559n0fx1p39w0000gn/T/pip_build_hoge/kivy/setup.py", line 94, in <module>from Cython.Distutils import build_extImportError: No module named 'Cython'Complete output from command python setup.py egg_info:

Cython is missing, its required for compiling kivy !




Traceback (most recent call last):
File "<string>", line 17, in <module>
File "/private/var/folders/3z/sspq04dx20n3559n0fx1p39w0000gn/T/pip_build_hoge/kivy/setup.py", line 94, in <module>
from Cython.Distutils import build_ext
ImportError: No module named 'Cython'
----------------------------------------Cleaning up...Command python setup.py egg_info failed with error code 1 in /private/var/folders/3z/sspq04dx20n3559n0fx1p39w0000gn/T/pip_build_hoge/kivy
Storing debug log for failure in /Users/hoge/.pip/pip.log~                                                                                                                                                                                                          

Cython

  • こちらはすんなりはいるが、エラー内容が変わるだけ
    • pip install cython
% pip freeze
Cython==0.21.2

kivyの最新版をインストールする / 1.9.0

  • refsより
% pip install git+https://github.com/kivy/kivy.git

pipで最新版をインストールしたい場合は、gitからの採取を管理できるのか。
これが知らなかったこと。学ぶ。

pip freeze

% pip freeze
Cython==0.21.2
Kivy==1.9.0-dev
Kivy-Garden==0.1.1
requests==2.5.1

Hello world

  • 公式より
  • が、ダメ

pygame必要だよエラー

% python test001.py
[WARNING           ] [Config      ] Older configuration version detected (0 instead of 12)
[WARNING           ] [Config      ] Upgrading configuration in progress.
[INFO              ] [Logger      ] Record log in /Users/hoge/.kivy/logs/kivy_15-01-02_0.txt
[INFO              ] Kivy v1.9.0-dev
[INFO              ] [Python      ] v3.4.2 (default, Jan  2 2015, 17:04:28)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)]
[INFO              ] [Factory     ] 173 symbols loaded
[INFO              ] [Image       ] Providers: img_tex, img_imageio, img_dds, img_gif (img_pil, img_pygame, img_ffpyplayer, img_sdl2 ignored)
[CRITICAL          ] [Text        ] Unable to find any valuable Text provider at all!
pygame - ImportError: No module named 'pygame'
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/__init__.py", line 57, in core_select_lib
    fromlist=[modulename], level=0)
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/text/text_pygame.py", line 12, in <module>
    import pygame

sdl2 - ImportError: No module named 'kivy.core.text._text_sdl2'
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/__init__.py", line 57, in core_select_lib
    fromlist=[modulename], level=0)
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/text/text_sdl2.py", line 12, in <module>
    from kivy.core.text._text_sdl2 import (_SurfaceContainer, _get_extents,

sdlttf - ImportError: No module named 'kivy.core.text.text_sdlttf'
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/__init__.py", line 57, in core_select_lib
    fromlist=[modulename], level=0)

pil - ImportError: No module named 'PIL'
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/__init__.py", line 57, in core_select_lib
    fromlist=[modulename], level=0)
  File "/Users/hoge/.anyenv/envs/pyenv/versions/3.4.2/lib/python3.4/site-packages/kivy/core/text/text_pil.py", line 8, in <module>
    from PIL import Image, ImageFont, ImageDraw

[CRITICAL          ] [App         ] Unable to get a Text provider, abort.

pygameのインストール / 最新版

  • refsのとおりだが、 gitではなくhgことMercurial 管理なので
    • hgコマンド必要
    • brew install hg とかでいい
  • pipはhgからもできるのか。
pip install hg+http://bitbucket.org/pygame/pygame
  • が、`pygameで必要なものがいくつかありそうな警告が
## --- snip
gcc -Wno-unused-result -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DENABLE_NEWBUF=1 -I/NEED_INC_PATH_FIX -I/Users/usr0600109/.anyenv/envs/pyenv/versions/3.4.2/include/python3.4m -c src/scrap.c -o build/temp.macosx-10.9-x86_64-3.4/src/scrap.o

src/scrap.c:27:10: fatal error: 'SDL.h' file not found

#include "SDL.h"

         ^

1 error generated.
## --- snip

pygameのための

  • Macなので homebrew フル活用
  • 一個だけですんだ
brew install sdl
  • すんなり入る
% pip freeze
Cython==0.21.2
Kivy==1.9.0-dev
Kivy-Garden==0.1.1
pygame==1.9.2a0
requests==2.5.1

今度こそ Hello World

  • やったね

image

22
21
0

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
22
21