我正在尝试在基于Alpine 3.1的docker容器中安装numpy。我正在使用以下Dockerfile:
FROM alpine:3.1
RUN apk add --update make cmake gcc g++ gfortran
RUN apk add --update python py-pip python-dev
RUN pip install cython
RUN pip install numpy
当我得到以下错误时,pip install numpy
才会运行正常:
error: Command "gcc -fno-strict-aliasing -Os -fomit-frame-pointer -DNDEBUG -Os -fomit-frame-pointer -fPIC -Inumpy/core/include -Ibuild/src.linux-x86_64-2.7/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/include/python2.7 -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -Ibuild/src.linux-x86_64-2.7/numpy/core/src/private -c build/src.linux-x86_64-2.7/numpy/core/src/npymath/ieee754.c -o build/temp.linux-x86_64-2.7/build/src.linux-x86_64-2.7/numpy/core/src/npymath/ieee754.o" failed with exit status 1
easy_install-2.7 numpy
给出了相同的错误。
是否缺少任何配置/安装步骤?
这件事我自己也有点麻烦,长话短说,我鼓励你问问这件事是否真的值得。当您开始向堆栈中添加诸如pandas、gpu和scipy之类的东西时,Numpy是巨大的,因此在alpine上构建它的好处是有限的,当这个库中有500MB空间时,使用Debian、Arch甚至Ubuntu所节省的成本相对较小。
话虽如此,我却拼凑出了一个这样的形象。我需要作为构建时依赖项musl dev、linux头文件和g++。我还需要在堆栈的后面为一些东西从edge添加openblas,所以也可能需要一些来自edge的依赖项。但我相信只要加上
应该足以防止您得到的gcc错误。您可以在https://hub.docker.com/r/o76923/alpine-numpy-stack/查看图像
试试这个:
如果不需要从
pypi
安装numpy
,可以从alpine存储库安装它。包名为py-numpy
,位于testing
存储库中,请参阅here。对我有用的最小Dockerfile
示例repositories
文件的内容相关问题 更多 >
编程相关推荐