微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Alpine Docker 镜像上的 Pygame?

如何解决Alpine Docker 镜像上的 Pygame?

我正在尝试在 Docker 上安装一个 Django 项目,以进行测试,但是当我安装了 Pygame 库时,它启动了一个错误(实际上很多)说没有 Pygame 版本可供安装,从 2.0 开始.1 到 1.9.2,并且在某种程度上,它们都显示类似于 /bin/sh: sdl2-config: not found错误。我尝试搜索,似乎我需要一个 SDL2 包才能工作。 Alpine 有一个 SDL2 包,尝试安装它,但没有用,多搜索一点发现,也许我需要一个更具体的名为 python:pygame-sdl2 的包,但我发现唯一尊重 Alpine 的是这个谷歌结果:

Result

它提到 Alpine 上没有该包,但如果我点击结果链接,我找不到同一行。

有谁知道是否可以在 Alpine Image 上安装 Pygame 项目,或者哪个是下一个推荐安装 Django 项目的镜像?

这是我的 Dockerfile,以防万一:

FROM python:3.8-alpine as base

ENV PYTHONUNBUFFERED 1

RUN apk add --no-cache --virtual .build-deps \
    ca-certificates gcc postgresql-dev linux-headers musl-dev libffi-dev jpeg-dev zlib-dev geos sdl2\ 
    && rm -rf /var/cache/apk/*

RUN pip3 install --upgrade pip

copY requirements.txt .

RUN pip install -r requirements.txt

FROM base as debug

RUN pip3 install debugpy

解决方法

正如@DavidMaze 提到的,包 sdl2-dev 是必需的,有 2 个版本的包,普通版本和 -devs,并且似乎 python 库需要最新版本,原因是为什么不起作用当我安装 sdl2 时。在这之后我只需要处理一些其他的包丢失(最糟糕的是 portmidi,因为它在 Edge 分支上),但毕竟,库已经被编译了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。