首先,我要说我确实看到了类似的问题,但他们并没有完全回答我的问题。
我真正想要的是确认我对Kivy website上的安装页面的理解是正确的。当它在标题为“与SDL2的依赖关系”的部分中显示要安装的依赖关系列表以及标题为“与传统PyGame的依赖关系”的单独部分时,我认为这意味着任何一种方法都可以工作,但SDL2是前进的路径( “遗产”这个词向我传达了这个意义。)
我刚刚开始使用Kivy,但如果我以前的努力教会了我什么,那就是我应该尝试解决事情,直到它们成为我必须在项目中处理的问题。
这是我用来构建kivy-python环境的Dockerfile:
FROM ubuntu:16.04
RUN apt-get update -y
RUN apt-get install software-properties-common -y
RUN add-apt-repository ppa:kivy-team/kivy -y
RUN apt-get update -y
RUN apt-get install python3-pip -y
RUN apt-get install -y build-essential
RUN apt-get install -y git
RUN apt-get install python3 -y
RUN apt-get install -y python3-dev
RUN apt-get install -y ffmpeg
RUN apt-get install -y libsdl2-dev
RUN apt-get install -y libsdl2-image-dev
RUN apt-get install -y libsdl2-mixer-dev
RUN apt-get install -y libsdl2-ttf-dev
RUN apt-get install -y libportmidi-dev
RUN apt-get install -y libswscale-dev
RUN apt-get install -y libavformat-dev
RUN apt-get install -y libavcodec-dev
RUN apt-get install -y zlib1g-dev
RUN apt-get install -y libmtdev1
RUN apt-get install -y python3-kivy
RUN apt-get install -y sudo
COPY entrypoint.sh /sbin/entrypoint.sh
RUN chmod 755 /sbin/entrypoint.sh
ENTRYPOINT ["/sbin/entrypoint.sh"]
RUN apt-get autoremove &&\
apt-get clean &&\
rm -rf /tmp/*