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

M1芯片MacBook通过pip安装keras_ocr时出现numpy编译错误

M1芯片MacBook安装keras-ocr失败的解决办法

问题背景

使用搭载M1芯片的MacBook,执行pip install keras-ocr安装时失败,报错核心为numpy编译阶段触发AssertionError,且已尝试社区中修复numpy、scikit-image和scipy的常规方案但无效。

报错详情

核心错误栈

writing manifest file 'numpy.egg-info/SOURCES.txt'
Copying numpy.egg-info to build/bdist.macosx-11-arm64/wheel/numpy-1.20.0-py3.9.egg-info
running install_scripts
Traceback (most recent call last):
File "/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/tmp477g6zd0_in_process.py", line 363, in
main()
File "/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/tmp477g6zd0_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/tmp477g6zd0_in_process.py", line 261, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 211, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 197, in _build_with_temp_dir
self.run_setup()
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 248, in run_setup
super(_BuildMetaLegacyBackend,
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 142, in run_setup
exec(compile(code, file, 'exec'), locals())
File "setup.py", line 513, in
setup_package()
File "setup.py", line 505, in setup_package
setup(**metadata)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-install-pt17o4qn/numpy_75c19d1baee74ce88c2532a40c962c58/numpy/distutils/core.py", line 169, in setup
return old_setup(**new_attr)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/init.py", line 165, in setup
return distutils.core.setup(**attrs)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 148, in setup
dist.run_commands()
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands
self.run_command(cmd)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 986, in run_command
cmd_obj.run()
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 328, in run
impl_tag, abi_tag, plat_tag = self.get_tag()
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 252, in get_tag
plat_name = get_platform(self.bdist_dir)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/wheel/bdist_wheel.py", line 48, in get_platform
result = calculate_macosx_platform_tag(archive_root, result)
File "/private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-build-env-0xvtwy70/overlay/lib/python3.9/site-packages/wheel/macosx_libfile.py", line 356, in calculate_macosx_platform_tag
assert len(base_version) == 2
AssertionError

编译优化日志

########### EXT COMPILER OPTIMIZATION ###########
        Platform      :
          Architecture: aarch64
          Compiler    : clang
  
        CPU baseline  :
          Requested   : 'min'
          Enabled     : NEON NEON_FP16 NEON_VFPV4 ASIMD
          Flags       : none
          Extra checks: none
  
        CPU dispatch  :
          Requested   : 'max -xop -fma4'
          Enabled     : ASIMDHP ASIMDDP
          Generated   :
                      :
          ASIMDHP     : NEON NEON_FP16 NEON_VFPV4 ASIMD
          Flags       : -march=armv8.2-a+fp16
          Extra checks: none
          Detect      : ASIMD ASIMDHP
                      : numpy/core/src/umath/_umath_tests.dispatch.c
        CCompilerOpt._cache_write[796] : write cache to path -> /private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-install-pt17o4qn/numpy_75c19d1baee74ce88c2532a40c962c58/build/temp.macosx-11-arm64-3.9/ccompiler_opt_cache_ext.py
  
        ########### CLIB COMPILER OPTIMIZATION ###########
        Platform      :
          Architecture: aarch64
          Compiler    : clang
  
        CPU baseline  :
          Requested   : 'min'
          Enabled     : NEON NEON_FP16 NEON_VFPV4 ASIMD
          Flags       : none
          Extra checks: none
  
        CPU dispatch  :
          Requested   : 'max -xop -fma4'
          Enabled     : ASIMDHP ASIMDDP
          Generated   : none
        CCompilerOpt._cache_write[796] : write cache to path -> /private/var/folders/xl/bj72r_d95rd13lh4blhmjbm5pdf4wb/T/pip-install-pt17o4qn/numpy_75c19d1baee74ce88c2532a40c962c58/build/temp.macosx-11-arm64-3.9/ccompiler_opt_cache_clib.py
        [end of output]
  
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for numpy
  Failed to build numpy
  ERROR: Could not build wheels for numpy, which is required to install pyproject.toml-based projects
  [end of output]

最终错误提示

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× pip subprocess to install build dependencies did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

解决方案

方案1:使用conda安装(推荐)

M1芯片下conda对ARM架构的依赖适配更完善,先安装Anaconda或Miniconda,再执行以下命令:

conda create -n keras-ocr-env python=3.9
conda activate keras-ocr-env
conda install keras-ocr -c conda-forge

conda会自动处理所有依赖的兼容版本,避免本地编译错误。

方案2:升级工具并指定兼容numpy版本

先升级pip相关工具,再安装对M1有预编译支持的numpy版本,最后安装keras-ocr:

pip install --upgrade wheel setuptools
pip install numpy==1.23.5
pip install keras-ocr

方案3:通过Rosetta 2模拟x86架构安装

右键终端图标选择「使用Rosetta打开」,再执行常规安装命令:

pip install keras-ocr

该方式通过模拟x86架构绕过ARM编译问题,但性能会略有下降。

方案4:手动安装苹果适配版依赖

先安装苹果官方适配M1的TensorFlow及其他依赖,再安装keras-ocr:

pip install numpy scipy scikit-image tensorflow-macos tensorflow-metal
pip install keras-ocr

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:36:16