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

M1 Mac原生安装Python3.7及Numpy报错问题求助

M1 Mac 原生安装支持numpy的Python3.7(无Rosetta)解决方案

问题根因

Python3.7内置的libffi版本未适配arm64架构,导致编译时跳过了_ctypes、_decimal等依赖模块的构建,后续安装numpy等库时触发模块缺失报错。

操作步骤

  • 先安装原生arm64版本的Homebrew依赖包:
    brew install libffi openssl readline sqlite3 xz zlib tcl-tk openblas
  • 触发pyenv下载Python3.7.10源码,下载完成后手动中止安装:
    pyenv install 3.7.10 --keep
  • 进入pyenv缓存的源码目录,替换内置旧版libffi:
cd ~/.pyenv/cache/Python-3.7.10
rm -rf Modules/_ctypes/libffi_osx
# 下载libffi 3.4.4版本源码解压后,将所有文件复制到对应目录
cp -r 本地libffi解压目录/* Modules/_ctypes/libffi_osx/
  • 指定libffi编译参数,重新执行Python安装:
export LDFLAGS="-L/opt/homebrew/opt/libffi/lib"
export CPPFLAGS="-I/opt/homebrew/opt/libffi/include"
export PKG_CONFIG_PATH="/opt/homebrew/opt/libffi/lib/pkgconfig"
pyenv install 3.7.10
  • 验证_ctypes模块是否正常:
pyenv global 3.7.10
python -c "import _ctypes; print('模块加载成功')"
  • 安装numpy:
    OPENBLAS=$(brew --prefix openblas) pip install numpy

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 19:06:00