M1 MacBook运行代码时Jupyter notebook内核无报错崩溃
问题根因
M1芯片属于ARM架构,你当前安装的scikit-learn、TensorFlow大概率为x86架构编译版本,且Python3.8.8对M1原生适配的支持度较低,架构不兼容会直接触发内核崩溃,不会抛出Python层面的报错信息。
修复方案
长期原生适配方案(推荐)
- 卸载当前已安装的不兼容依赖
执行命令:pip uninstall scikit-learn tensorflow -y - 安装适配ARM架构的Miniforge,创建Python3.9及以上版本的虚拟环境,避免全局环境冲突
- 虚拟环境中安装适配M1的依赖包:
安装scikit-learn:conda install scikit-learn
安装TensorFlow MacOS适配版本:conda install tensorflow-macos tensorflow-metal - 重启Jupyter notebook内核,重新运行导入代码即可
注意:安装依赖时不要用Rosetta 2启动终端,否则会默认安装x86架构的包,依然会出现兼容问题
临时兼容方案(不推荐长期使用)
- 右键点击终端应用→显示简介→勾选「使用Rosetta打开」,重启终端后重新安装所有依赖,再启动Jupyter运行代码即可,该方案依赖转译运行,执行效率较低。
内容的提问来源于stack exchange,提问作者LELOUCH
相关产品推荐
相关产品推荐

