M2 MacBook Air执行Python代码报错zsh: illegal hardware instruction
解决M2 MacBook Air上运行imageatm代码时的“illegal hardware instruction”错误
这个错误的核心原因是架构不兼容:M2 MacBook Air采用ARM64架构,而你使用的Python 3.6、imageatm内置的旧版本TensorFlow都是针对x86架构编译的,这些库会调用ARM不支持的x86指令集,触发硬件指令错误。
具体解决步骤:
升级Python版本
Python 3.6已停止维护,且对ARM64架构的支持极差。建议切换到Python 3.9或3.10(这两个版本对M2的ARM原生支持最稳定)。重建ARM兼容的conda环境
- 删除现有环境:
conda remove --name your_old_env --all - 创建新环境:
conda create -n imageatm_env python=3.9 - 激活环境并安装依赖:
Conda会自动下载适配ARM64架构的包,避免x86指令集冲突。conda activate imageatm_env conda install imageatm tensorflow scipy
- 删除现有环境:
确保终端使用原生ARM模式
检查终端是否为ARM64原生模式:运行arch命令,输出应为arm64。如果是i386,说明用了Rosetta兼容层,需要关闭(在终端应用的“显示简介”里取消勾选“使用Rosetta打开”)。
验证步骤
激活新环境后,先执行以下命令确认依赖正常:
python -c "import tensorflow; import imageatm.components; print('Dependencies loaded successfully')"
无报错后再运行你的do.py脚本。
内容的提问来源于stack exchange,提问作者Jiminji
相关产品推荐
相关产品推荐

