gpt4 book ai didi

numpy - 在 Docker Alpine 上安装 seaborn

转载 作者:IT老高 更新时间:2023-10-28 21:26:59 36 4
gpt4 key购买 nike

我正在尝试使用此 Dockerfile 安装 seaborn:

FROM alpine:latest

RUN apk add --update python py-pip python-dev

RUN pip install seaborn

CMD python

我得到的错误与 numpyscipy (seaborn 要求)有关。开头是:

/tmp/easy_install-nvj61E/numpy-1.11.1/setup.py:327: UserWarning:Unrecognized setuptools command, proceeding with generating Cythonsources and expanding templates

结尾

File "numpy/core/setup.py", line 654, in get_mathlib_info

RuntimeError: Broken toolchain: cannot link a simple C program

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-DZ4cXr/scipy/

The command '/bin/sh -c pip install seaborn' returned a non-zero code: 1

知道如何解决这个问题吗?

最佳答案

要修复这个错误,你需要安装gcc:apk add gcc

但是你会看到你会遇到一个新的错误,因为 numpy、matplotlip 和 scipy 有几个依赖项。还需要安装gfortranmusl-devfreetype-dev

这是一个基于您最初的 Dockerfile,它将安装这些依赖项以及 seaborn:

FROM alpine:latest

# install dependencies
# the lapack package is only in the community repository
RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk --update add --no-cache \
lapack-dev \
gcc \
freetype-dev

RUN apk add python py-pip python-dev

# Install dependencies
RUN apk add --no-cache --virtual .build-deps \
gfortran \
musl-dev \
g++
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h

RUN pip install seaborn

# removing dependencies
RUN apk del .build-deps

CMD python

您会注意到我正在使用 apk-del .build-deps 删除依赖项以限制图像的大小 (http://www.sandtable.com/reduce-docker-image-sizes-using-alpine/)。

就个人而言,我还必须安装 ca-certificates,但您似乎没有这个问题。

注意:您也可以从 python:2.7-alpine 图像构建您的图像,以避免安装 python 和自己 pip。

关于numpy - 在 Docker Alpine 上安装 seaborn,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38568476/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com