You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Mac Docker环境下安装无AVX核心PaddlePaddle解决PaddleOCR报错

解决Apple Silicon(M1 Mac)Docker环境下PaddleOCR的AVX指令集兼容问题

问题根源

你使用的paddlecloud/paddleocr:2.5-gpu-cuda10.2-cudnn7-85d7d5是为x86架构GPU环境构建的镜像,内置的PaddlePaddle编译时启用了AVX指令集,但M1 Mac的ARM64架构不支持该指令集,且该镜像未包含无AVX的核心库,因此导入PaddleOCR时触发兼容性报错。

解决方案

以下两种方案可解决该问题:

方案1:自定义Dockerfile安装无AVX版本PaddlePaddle

使用支持ARM架构的基础镜像,手动安装适配的无AVX版PaddlePaddle和PaddleOCR:

# 基于Python3.7 slim镜像(支持ARM64架构)
FROM python:3.7-slim

# 安装PaddleOCR依赖的系统库
RUN apt-get update && apt-get install -y --no-install-recommends \
    libgl1-mesa-glx \
    libglib2.0-0 \
    && rm -rf /var/lib/apt/lists/*

# 安装2.5.0版本无AVX的PaddlePaddle(ARM环境下默认适配无AVX)
RUN pip install paddlepaddle==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装对应版本的PaddleOCR
RUN pip install paddleocr==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

构建并运行容器后,执行from paddleocr import PaddleOCR即可正常导入。

方案2:使用官方ARM架构PaddleOCR镜像

直接使用官方为ARM64架构提供的CPU版PaddleOCR镜像,该镜像内置了无AVX的PaddlePaddle:

FROM paddlecloud/paddleocr:2.5-cpu-arm64

此镜像无需额外配置,直接构建使用即可兼容M1 Mac环境。

注意事项

  • M1 Mac上使用Docker时,优先选择ARM原生镜像(如方案2中的arm64镜像),无需依赖Rosetta 2,性能更优;
  • 若必须使用x86镜像,需在Docker Desktop设置中开启“使用Rosetta 2运行x86/amd64容器”选项,但仍可能存在兼容性问题。

内容的提问来源于stack exchange,提问作者yardstick17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 11:25:38