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

Mac M1安装Python库时报ModuleNotFoundError: No module named '_ctypes'怎么办

问题定位

ModuleNotFoundError: No module named '_ctypes'

这个错误本质是Python的C扩展适配模块_ctypes缺失,Mac M1设备上出现该问题的核心原因是编译安装Python时未找到系统依赖库libffi:M1架构的Mac默认将Homebrew安装的libffi放在/opt/homebrew的非标准路径下,Python编译阶段无法识别该路径就不会生成_ctypes模块,后续安装调用ctypes的第三方库时就会抛出报错。

修复步骤
  • 第一步:安装系统依赖libffi
    执行命令:
    brew install libffi
    如果未安装Homebrew,先完成Homebrew的基础安装再执行上述命令。

  • 第二步:配置libffi环境变量
    将以下内容写入当前shell的配置文件(zsh对应/.zshrc,bash对应/.bash_profile):

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"

写入完成后执行source ~/.zshrc(bash对应source ~/.bash_profile)让配置生效。

  • 第三步:重新安装对应Python版本
    如果使用pyenv管理Python版本,执行:
    pyenv uninstall <你的Python版本号>
    pyenv install <你的Python版本号>
    如果使用官方安装包安装的Python,直接下载对应M1架构的官方安装包覆盖安装即可。

  • 第四步:验证修复结果
    执行命令:
    python3 -c "import ctypes"
    无任何输出即代表修复完成,可正常安装之前报错的第三方库。

特殊场景适配
  • 若使用conda管理Python环境,无需手动配置环境变量,直接执行conda install libffi后重新安装对应Python版本即可。
注意事项
  • 不要修改Mac系统自带的Python环境,建议使用pyenv、conda等工具管理独立Python版本,避免破坏系统基础依赖
  • 执行命令时注意替换对应你自己的Python版本号、匹配当前使用的shell类型,避免配置不生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:45:00