Appleシリコン搭載のMacに kivy をインストールする方法について紹介する。
筆者のマシン | |
---|---|
Mac | mac mini (M1, 2020) |
OS | Big Sur バージョン 11.4 |
ここでは次の手順で説明する。
- はじめに
- kivy用作業ディレクトリを作成
- pythonの仮想環境を作成
- kivyに必要なモジュールをインストール
- kivyのインストール
- Hello World
はじめに
kivyインストール時の環境は下記
Python | 3.8.2 |
pip3 | 21.1.2 |
ターミナルでRosettaを使用するように設定している。unameコマンドの結果は下記
user@hogenoMac-mini work % uname -a
Darwin hogenoMac-mini.local 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:31 PDT 2021; root:xnu-7195.121.3~9/RELEASE_ARM64_T8101 x86_64
kivy公式のインストールガイドはこちら。
kivyのライセンスはMITである。ライセンスファイルはこちら。
kivy用作業ディレクトリを作成
kivyディレクトリを作成する。
user@hogenoMac-mini work % mkdir kivy
pythonの仮想環境を作成
下記コマンドを実行し、最後の引数で仮想環境場所「venv」を指定する。lsコマンドでディレクトリが作成されたことを確認している。
user@hogenoMac-mini kivy % python3 -m venv venv
user@hogenoMac-mini kivy % ls
venv
下記コマンドを実行し、仮想環境を有効にする。
user@hogenoMac-mini kivy % source venv/bin/activate
(venv) user@hogenoMac-mini kivy %
kivyに必要なモジュールをインストール
筆者はこのあと kivy-ios を使用する予定なので、kivy-iosのrequirementsを確認する。
2021/6/9 時点の requirements.txt の内容は下記の通り。
pbxproj==2.5.1
Pillow>=6.1.0
requests>=2.13
cookiecutter==1.7.2
sh==1.12.14
Cython==0.29.17
上記記載のうち、不足していた Cyton をインストールする。
user@hogenoMac-mini kivy % pip3 install cython
Defaulting to user installation because normal site-packages is not writeable
Collecting cython
Downloading Cython-0.29.23-cp38-cp38-macosx_10_9_x86_64.whl (1.9 MB)
|████████████████████████████████| 1.9 MB 6.5 MB/s
Installing collected packages: cython
WARNING: The scripts cygdb, cython and cythonize are installed in '/Users/hoge/Library/Python/3.8/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed cython-0.29.23
上記に、/Users/hoge/Library/Python/3.8/bin へパスが通っていないとWARNINGがある。本マシンのシェルは、次のようにzshである。
user@hogenoMac-mini kivy % echo $SHELL
/bin/zsh
ユーザーのホームにある .zshrc で、pathに「$/Library/Python/3.8/bin」を追加する。
user@hogenoMac-mini ~ % cat .zshrc
export PATH="$HOME/Library/Python/2.7/bin:$HOME/Library/Python/3.8/bin:$PATH"
user@hogenoMac-mini ~ % source ~/.zshrc
この時のインストール済みモジュールは下記の通り。
uer@hogenoMac-mini ~ % pip3 list Package Version --------------- --------- arrow 1.1.0 binaryornot 0.4.4 certifi 2021.5.30 chardet 4.0.0 click 8.0.1 cookiecutter 1.7.3 Cython 0.29.23 docopt 0.6.2 docutils 0.17.1 et-xmlfile 1.0.1 idna 2.10 jdcal 1.4.1 Jinja2 3.0.1 jinja2-time 0.2.0 MarkupSafe 2.0.1 numpy 1.19.4 opencv-python 4.4.0.46 openpyxl 3.0.5 openstep-parser 1.5.3 pbxproj 3.2.1 Pillow 8.2.0 pip 21.1.2 poyo 0.5.0 Pygments 2.9.0 python-dateutil 2.8.1 python-slugify 5.0.2 requests 2.25.1 setuptools 51.1.0 sh 1.14.2 six 1.15.0 text-unidecode 1.3 urllib3 1.26.5 wheel 0.36.2
kivyのインストール
pip3を用いてkivyをインストールする。
user@hogenoMac-mini ~ % pip3 install kivy
Defaulting to user installation because normal site-packages is not writeable
Collecting kivy
Downloading Kivy-2.0.0-cp38-cp38-macosx_10_14_x86_64.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (7.1 MB)
|████████████████████████████████| 7.1 MB 6.2 MB/s
Collecting pygments
Downloading Pygments-2.9.0-py3-none-any.whl (1.0 MB)
|████████████████████████████████| 1.0 MB 8.1 MB/s
Collecting docutils
Downloading docutils-0.17.1-py2.py3-none-any.whl (575 kB)
|████████████████████████████████| 575 kB 17.4 MB/s
Collecting Kivy-Garden>=0.1.4
Downloading kivy-garden-0.1.4.tar.gz (6.8 kB)
Requirement already satisfied: requests in ./Library/Python/3.8/lib/python/site-packages (from Kivy-Garden>=0.1.4->kivy) (2.25.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./Library/Python/3.8/lib/python/site-packages (from requests->Kivy-Garden>=0.1.4->kivy) (1.26.5)
Requirement already satisfied: idna<3,>=2.5 in ./Library/Python/3.8/lib/python/site-packages (from requests->Kivy-Garden>=0.1.4->kivy) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in ./Library/Python/3.8/lib/python/site-packages (from requests->Kivy-Garden>=0.1.4->kivy) (2021.5.30)
Requirement already satisfied: chardet<5,>=3.0.2 in ./Library/Python/3.8/lib/python/site-packages (from requests->Kivy-Garden>=0.1.4->kivy) (4.0.0)
Building wheels for collected packages: Kivy-Garden
Building wheel for Kivy-Garden (setup.py) ... done
Created wheel for Kivy-Garden: filename=Kivy_Garden-0.1.4-py3-none-any.whl size=4532 sha256=11c354a49840529312e474ef91d60213b92dadd64df56fe1cc968fdc2d586dd4
Stored in directory: /Users/hoge/Library/Caches/pip/wheels/d2/72/1a/9ddd17f00755707937caa350616965fb3330a6270425f397e6
Successfully built Kivy-Garden
Installing collected packages: pygments, Kivy-Garden, docutils, kivy
Successfully installed Kivy-Garden-0.1.4 docutils-0.17.1 kivy-2.0.0 pygments-2.9.0
Hello World
Hello World と表示させる簡単なプログラムを実行する。
参考にしたサイトは
kivy用作業ディレクトリに、コードを保存するディレクトリ sample 1 を作成し、そこに main.py を作成する。
main.pyファイルの記述
import kivy
kivy.require('1.0.6') # replace with your current kivy version !
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()
python コードは VisualStudioCode で開発した。VSCodeのインストール方法はこちら。
ファイル構成は下記。
kivy
|– sample1
|– main.py
VSCodeのターミナルで main.py を実行する。
user@hogenoMac-mini sample1 % python3 main.py
下記のように Hello World が表示される。
補足:kivy-isoをインストールし使うことで、sample1 ディレクトリを指定してXCodeプロジェクトを作成することもできる。
以上