首页 > 解决方案 > 高山 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 的唯一一件事是这个谷歌结果:

结果

它提到 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

标签: pythondockerpygame

解决方案


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


推荐阅读