Kivy在Ubuntu上的安装
Kivy的安装有些麻烦呢。不能像一般的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。从版本2.0.4开始支持Linux的一个输入法IBus,而从版本2.0.5开始支持Fcitx。所以需要确认您使用的输入法所对应的SDL2版本是否已安装。
请确认当前正在使用的SDL版本。
在命令行中输入 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的版本是2.0.4。我正在使用IBus,所以应该没有问题。如果版本不符合要求,则说明仓库里的版本较旧,需要从源代码进行构建。在这种情况下,请按照此处的指引使用以下命令进行安装。
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),因为我曾经有过将所有东西都升级到最新版本后导致Kivy无法运行的经验。
安装与所需Kivy版本相匹配的Cython版本。
所有的操作都将在使用pipenv或venv准备的虚拟环境上进行。
请根据此参考,在适当的版本中安装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機能を使いたいなら要ります