M1 Pro MacBook配置TensorFlow认证环境遇SIGILL错误求助
解决M1 Pro MacBook上TensorFlow导入报错
exit code 132 (SIGILL)的方案 问题根源
你遇到的SIGILL错误本质是x86架构的Python/TensorFlow与M1 Pro的ARM原生架构不兼容——即便通过Rosetta转译运行x86版本,TensorFlow底层的运算指令仍会触发不支持的硬件指令调用,导致进程中断。TensorFlow 2.7的官方x86包并未针对M1做适配,这是核心问题。
具体解决步骤
1. 替换为ARM原生Python 3.8
卸载原有的x86版本Python,用Homebrew安装ARM原生的Python 3.8:
# 卸载x86 Python(若已安装) sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.8 # 安装ARM原生Python 3.8 brew install python@3.8 # 验证架构(输出应为arm64) python3.8 -c "import platform; print(platform.machine())"
2. 创建ARM架构的虚拟环境
# 创建虚拟环境 python3.8 -m venv tf_exam_env # 激活虚拟环境 source tf_exam_env/bin/activate
3. 安装M1适配版TensorFlow及依赖
使用Apple官方适配的tensorflow-macos替代原生TensorFlow,配合tensorflow-metal实现GPU加速:
pip install tensorflow-macos==2.7 tensorflow-metal==0.3.0 # 安装考试所需其他依赖 pip install tensorflow-datasets==4.6.0 Pillow==9.1.1 pandas==1.4.2 numpy==1.22.4 scipy==1.7.3
4. 配置PyCharm使用新环境
- 打开PyCharm,进入
File > Settings > Project: [你的项目名] > Python Interpreter - 点击右上角齿轮图标,选择
Add - 选择
Existing environment,找到虚拟环境路径:tf_exam_env/bin/python - 点击
OK保存配置,重新运行代码即可
内容的提问来源于stack exchange,提问作者Hemendra Singh Rajawat
相关产品推荐
相关产品推荐

