繁体   English   中英

在Docker Alpine上安装seaborn

[英]Installing seaborn on Docker Alpine

我试图安装seaborn这个Dockerfile:

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:无法识别的setuptools命令,继续生成Cython源代码并扩展模板

最后以

在get_mathlib_info中输入“numpy / core / setup.py”,第654行

RuntimeError:破坏的工具链:无法链接简单的C程序

命令“python setup.py egg_info”失败,错误代码为1 / tmp / pip-build-DZ4cXr / scipy /

命令'/ bin / sh -c pip install seaborn'返回非零代码:1

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

要修复此错误,您需要安装gccapk 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证书,但似乎你没有这个问题。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM