KivyのInstallは少々面倒くさいですね。いわゆるpip
だけでサクッと入れられる類の物ではないので。
Ubuntuのversion選択
経験豊富なLinux利用者でないのなら、LTS(LongTimeSupport)版を選んだ方がいいでしょう。どのLTS版を選ぶかですが、現在だと18.04LTSが最適だと思います。
apt-getで必要な物を入れる
まんま公式に書いてあるとおりです。
sudo apt-get install -y \
python-pip \
build-essential \
git \
python \
python3 \
python-dev \
python3-dev \
ffmpeg \
libsdl2-dev \
libsdl2-image-dev \
libsdl2-mixer-dev \
libsdl2-ttf-dev \
libportmidi-dev \
libswscale-dev \
libavformat-dev \
libavcodec-dev \
zlib1g-dev
# Install gstreamer for audio, video (optional)
sudo apt-get install -y \
libgstreamer1.0 \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good
-
ffmpeg
のInstallに失敗する場合は代わりにlibav-tools
を入れてください。 - gstreamerに関する物は任意ですが入れておいたほうが読み込める動画や音声の種類が増えていいです。
SDL2のversionとIME
SDL2のWhatsNew.txtを見てください。 LinuxのIMEの一つであるIBusに対応したのはversion2.0.4からでFcitxに対応したのはversion2.0.5からなのが分かると思います 。なので使用しているIMEに対応したversionのSDL2が入っているか確かめる必要があります。
現在入っているSDLのversionを確認
dpkg -l *libsdl2*
と打ちます。私の環境での出力が以下で
(読みやすいように省略,整形しています)
ii libsdl2-2.0-0:amd64 2.0.4+dfsg1-2ubuntu2
ii libsdl2-dev 2.0.4+dfsg1-2ubuntu2
ii libsdl2-image-2.0-0:amd64 2.0.1+dfsg-2+deb9u1build0.16.04
ii libsdl2-image-dev:amd64 2.0.1+dfsg-2+deb9u1build0.16.04
ii libsdl2-mixer-2.0-0:amd64 2.0.1+dfsg1-1
ii libsdl2-mixer-dev:amd64 2.0.1+dfsg1-1
ii libsdl2-ttf-2.0-0:amd64 2.0.14+dfsg1-1
ii libsdl2-ttf-dev:amd64 2.0.14+dfsg1-1
SDL2のversionが2.0.4である事が分かります。私はIBusを使っているのでこのままで問題ないでしょう。もし必要なversionに満てないのなら、repositoryにある物のversionが古いということになるので、ソースからbuildしないといけません。その場合はここを参考に以下のコマンドでinstallでします。
hg clone https://hg.libsdl.org/SDL SDL
cd SDL
mkdir build
cd build
../configure
make
sudo make install
hg
コマンドが使えない場合はsudo apt-get install mercurial
としてください。尚、他の物(mixer
, image
, ttf
)は下手にupdateしないほうが良いです。私は一度全てを最新版にしてKivyが動かなくなった経験があるので。
使いたいKivyのversionに合わせたversionのcythonを入れる
(ここからの作業は全てpipenvやvenvで用意した仮想環境上で行います)。
ここを参考に適切なversionのcythonを入れます。もし現在の最新安定版(Kivy1.11.0)を入れたいならcython0.29.9を入れてください。
pipenv install cython==0.29.9
又は
pip install cython==0.29.9
cythonが必要なのはkivyのinstall時であって実行時ではないので、kivyのinstall後はuninstallしたり別のversionを入れ直しても大丈夫です。
KivyをInstall
これでようやくKivyのInstallに入れます。
pipenv install kivy==1.11.0
又は
pip install kivy==1.11.0
また任意で以下のpackageも入れておきます。
- pillow 入れておくと読み込める画像の種類が増えるのだと思います。最近はこれがないとKivyが動かない事が多いので任意じゃなく必須かもしれません。
- watchdog kviewerを使いたいなら要ります
- pygments
CodeInput
というwidgetのSyntaxHighlight機能を使いたいなら要ります