我正在使用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
答案 0 :(得分:5)
python:3.5-alpine3.4
码头工人镜像基于Alpine v3.4
。 lapack-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