M1 Mac执行python manage.py makemigrations出现非法硬件指令错误解决
问题说明
在搭载M1芯片的Mac Ventura 13.0系统中,安装deepface包后执行python manage.py makemigrations命令时,触发zsh: illegal hardware instruction错误,该错误本质是程序尝试执行当前CPU不支持的指令集,导致进程直接崩溃。
产生原因
- deepface依赖的部分底层库(如OpenCV、TensorFlow的部分组件)可能是针对x86架构编译的,未适配Apple Silicon的ARM64指令集,M1芯片执行这些x86指令时会触发非法硬件指令报错。
- Ventura 13.0系统的Rosetta 2转译存在兼容性缺陷,部分依赖库无法通过转译正常运行,导致指令执行失败。
解决方法
- 重新安装适配ARM64的依赖库
- 卸载现有冲突依赖:
pip uninstall deepface opencv-python tensorflow - 用Homebrew安装ARM64版本的OpenCV:
brew install opencv - 安装Apple Silicon优化的TensorFlow:
pip install tensorflow-macos tensorflow-metal - 重新安装deepface:
pip install deepface
- 卸载现有冲突依赖:
- 关闭终端的Rosetta 2转译
- 找到终端应用,右键选择「显示简介」
- 取消勾选「使用Rosetta打开」,重启终端后重新执行
python manage.py makemigrations
- 创建ARM64专属Python虚拟环境
- 用conda创建适配环境:
conda create -n arm_env python=3.9(推荐Python 3.8-3.10版本,适配Apple Silicon) - 激活环境:
conda activate arm_env - 在环境内重新安装依赖:
pip install deepface django - 再次执行迁移命令:
python manage.py makemigrations
- 用conda创建适配环境:
内容的提问来源于stack exchange,提问作者Sreelekshmi Baiju
相关产品推荐
相关产品推荐

