Kivy在Ubuntu上的安装

Kivy的安装有些麻烦呢。不能像一般的pip简单地安装。

Ubuntu 版本选择

如果你不是经验丰富的 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 失败,请加入 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 安装时才需要,运行时不需要,因此在安装 kivy 后卸载或重新安装另一个version是安全的。

KivyをInstall

现在您终于可以进入 Kivy 安装程序了。

pipenv install kivy==1.11.0
又は
pip install kivy==1.11.0

还可选配以下 PACKAGE。

    • pillow 我认为,如果装上它,就能增加可以加载的图片类型。 如今,Kivy 在没有它的情况下经常无法工作,所以它可能是必不可少的,而不是可有可无的。

 

    • 如果我想使用watchdog Kviewer,就需要它。

 

    如果您想使用 pygments CodeInput 的 widget 的SyntaxHighlight功能。
广告
将在 10 秒后关闭
bannerAds