前言:
常规方法安装后,import tensorflow常见的报错内容:
zsh: illegal hardware instruction python
查阅了很多博客和教程,才发现原因是conda安装的环境下的macOS操作系统版本低于Tensorflow的要求版本,我的macOS版本应该是14.0,但是在conda环境下显示的确是10.16。可以试试下面的代码查询一下是否也是这样错误的输出。如果是的话,需要我们重新安装anaconda
import platform
platform.platform()
# wrong output:
# 'macOS-10.16-x86_64-i386-64bit'
# true output:
# 'macOS-14.1-arm64-arm-64bit'
步骤1:卸载原有的anaconda (仅限上述代码输出错误的情况)
参考anaconda官方教程:Uninstalling Anaconda Distribution — Anaconda documentation
步骤2:安装anaconda distribution
(1)官网地址:Free Download | Anaconda
划到最下面,这里我们选择通过命令行的方式安装
(2)然后我们就在Download目录下获得了一个名为Anaconda3-2023.09-0-MacOSX-arm64.sh的文件
(3)打开命令行,输入下列指令
cd Downloads
bash Anaconda3-2023.09-0-MacOSX-arm64.sh
一直回车,输入yes,再回车,安装完成
(4)查看anaconda3的安装路径
echo $PATH
cd 到 ./anaconda3后面
步骤3:创建虚拟环境,安装tensorflow依赖包
注意📢:如果不创建虚拟环境,可能遇到如下报错:
UnsatisfiableError: The following specifications were found to be incompatible with each other:
conda create -n env_tensorflow python=3.8
conda activate env_tensorflow
# 安装tensorflow及其依赖包
conda install -c apple tensorflow-deps
pip install tensorflow-macos
pip install tensorflow-metal
输入python,检查是否安装成功
import tensorflow as tf
tf.__version__
参考教程:
(1)https://www.youtube.com/watch?v=BEUU-icPg78
(2)https://www.youtube.com/watch?v=2C-B1VFMq58&t=303s
(3)Tensorflow Plugin - Metal - Apple Developer (如果不想使用anaconda环境,可以考虑苹果官方给出的方法,亲测有效,但是也需要确保platform.platform()的输出正确)
PS:其它对我用处不大的帖子就不在这里引用了,可能每个人问题不一样,如果没解决,请找其他的办法