ERROR: unsatisfiable constraints: libopenjp2-7 (missing): required by: world[libopenjp2-7]

ERROR: unsatisfiable constraints: libopenjp2-7 (missing): required by: world[libopenjp2-7]

我正在使用 python:3.7-alpine 基础映像为 Django 项目构建 Dockerfile。

在 requirement.text 文件中我有 WeasyPrint==47

我需要用于 WeasyPrint 的 libopenjp2-7 包,因为我在 运行 Django 应用程序时出现此错误。

ImportError: Error loading shared library libopenjp2.so.7: No such file or directory (needed by /code/env/lib/python3.7/site-packages/PIL/_imaging.cpython-37m-x86_64-linux-gnu.so)
Starting server 

这是 dockerfile:

FROM python:3.7-alpine

RUN apk add --no-cache postgresql-dev gettext libxml2-dev libxslt-dev \
    freetype-dev libpng-dev jpeg-dev \
    zlib-dev musl-dev git

RUN pip install --upgrade pip virtualenv==16.7.9

RUN apk add --update gcc \
                    openjpeg \
                    libopenjp2-7 \
                    libffi-dev \
                    cairo-dev \
                    pango-dev \
                    gdk-pixbuf-dev

但是当我构建它时出现此错误:

ERROR: unsatisfiable constraints:
  libopenjp2-7 (missing):
    required by: world[libopenjp2-7]

有人知道问题出在哪里吗?

您可能正在寻找 openjpeg 包。

请记住,不同的 Linux 发行版具有不同的包名称,并且它们不一定遵循您可以从共享库文件的名称猜测包名称的模式。对于 Alpine,https://pkgs.alpinelinux.org/ 有一个可搜索的包数据库。