Alpine Linux 无法在 python:3.5-alpine3.4 上安装 lapack-dev

Alpine Linux can't install lapack-dev on python:3.5-alpine3.4

我正在使用 docker python:3.5-alpine3.4 图像并尝试安装 lapack-dev 但它总是失败。它抱怨找不到 libgfortran.so.5。但是,我已尝试安装 libgfortran,但似乎无法解决问题。

(1/1) Installing libgfortran (5.3.0-r0)
OK: 33 MiB in 37 packages
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz
fetch http://dl-8.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
fetch http://dl-8.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
WARNING: This apk-tools is OLD! Some packages might not function properly.

ERROR: unsatisfiable constraints:
  so:libgfortran.so.5 (missing):

    required by:
      lapack-3.8.0-r1[so:libgfortran.so.5]

有什么办法可以解决这个问题吗?这是相关的 RUN 步骤。

FROM python:3.5-alpine3.4

RUN echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
  && apk update \
  && apk add --update-cache --no-cache libgcc libquadmath musl \
  && apk add --update-cache --no-cache libgfortran \
  && apk add --update-cache --no-cache lapack-dev

python:3.5-alpine3.4 docker 图片基于 Alpine v3.4lapack-dev 包仅出现在 Alpine v3.5 中。 因此,我的建议是按时间从最近的存储库安装 lapack-dev 包。在这种情况下,您不应该面临过时依赖项的问题。 而且效果很好。

最后的Dockerfile是:

FROM python:3.5-alpine3.4

RUN echo "http://dl-cdn.alpinelinux.org/alpine/v3.5/community" >> /etc/apk/repositories \
  && apk update \
  && apk add --update-cache --no-cache libgcc libquadmath musl \
  && apk add --update-cache --no-cache libgfortran \
  && apk add --update-cache --no-cache lapack-dev