基于python:alpine3.7的Docker环境安装Pandas失败问题求助
基于python:alpine3.7安装Pandas报错的解决方案
核心说明
Pandas全版本都强依赖Numpy作为数值计算底层组件,无法跳过Numpy单独安装Pandas,必须同时安装两个依赖。
报错根本原因
python:alpine3.7基于Alpine Linux 3.7版本,使用musl libc替代常规Linux发行版的glibc运行库,PyPI官方提供的Numpy、Pandas预编译wheel包仅适配glibc环境,因此默认执行pip install时会自动拉取源码包本地编译,缺失编译依赖时就会触发安装报错。
具体解决步骤
- 第一步:先安装系统层面的编译和运行依赖,在Dockerfile中执行以下命令:
RUN apk add --no-cache --virtual .build-deps \ build-base \ gcc \ gfortran \ musl-dev \ linux-headers \ openblas-dev \ && apk add --no-cache openblas
- 第二步:安装适配内置Python版本的依赖包,python:alpine3.7内置Python 3.6,最高支持Numpy 1.19.5、Pandas 1.1.5,直接指定版本安装即可:
RUN pip install --no-cache-dir numpy==1.19.5 pandas==1.1.5
- 第三步(可选,优化镜像体积):安装完成后卸载编译依赖,减少镜像大小:
RUN apk del .build-deps
可选优化方案
如果对镜像体积没有极致要求,更推荐使用python:3.6-slim基础镜像替代alpine版本,该镜像基于glibc环境,可以直接安装预编译的Numpy、Pandas wheel包,无需本地编译,构建速度更快,也不会出现编译类报错。
内容的提问来源于stack exchange,提问作者april
相关产品推荐
相关产品推荐

