Mac M1 踩坑之Tensorflow安装 && Processed finished with exit code 132

一.引言

之前出过一期Mbp迁移至Mac Mini-M1的教程,使用期间主要使用java,无明显问题,今天尝试在pycharm使用tensorflow,安装conda后,import tf后无法执行,报错 Processed finished with exit code 132,连print都不能用,好家伙原来M1还没支持的版本,情何以堪。于是开始求助于各路大神,好在终于解决了问题,下面铺下整个过程~

二.修护步骤

1.下载安装miniforge

https://github.com/conda-forge/miniforge

安装:

在Terminal执行:

sh Miniforge3-MacOSX-arm64.sh

2.创建并激活conda虚拟环境


首先安装conda3,链接:https://pan.baidu.com/s/1IvFVHkLcABMScXlUh3y6sA  密码:vtge,基本全程下一步即可,安装完成后打开Terminal执行(这里env_name根据自己需求填写即可):

创建过程中一直回车或者输入yes即可

conda create -n env_name

随后激活环境:

conda activate env_name

3.安装python以及其他Package(注意后续所有命令都需要在新的虚拟环境下执行,否则无法成功):

python:

conda install -y python==3.8.6

pandas,matplot,sk-learn,jupyter:

conda install -y pandas matplotlib scikit-learn jupyterlab
pip install --force pip==20.2.4 wheel setuptools cached-property six

4.tensorflow依赖包下载&安装 

首先需要下载 https://github.com/apple/tensorflow_macos/releases,该包下载较慢,大约持续1-2h左右

下载后解压文件夹得到下述文件:

进入文件夹目录下执行:

pip install --upgrade --no-dependencies --force grpcio-1.33.2-cp38-cp38-macosx_11_0_arm64.whl h5py-2.10.0-cp38-cp38-macosx_11_0_arm64.whl numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl

即下述4个文件: 

安装完毕后安装其他需要的依赖:

pip install absl-py astunparse flatbuffers gast google_pasta keras_preprocessing opt_einsum protobuf tensorflow_estimator termcolor typing_extensions wrapt wheel tensorboard typeguard

 继续等待安装结束执行最后一步tensorflow安装:

pip install --upgrade --force --no-dependencies tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl

 即下述文件:

至此安装步骤结束

三.pycharm部署该虚拟环境

1.找到虚拟环境地址

conda env list

  找到自己刚刚创建env_name的环境地址:

 2.pycharm部署

在pycharm设置中找到 Python Interpreter,点击右上角添加环境或者+号

随后选择Existing environment,选择刚才的目录地址,进入地址的bin目录下寻找python3.8,点击添加:

博主的env_name是macm1tf,所以虚拟环境如下

四.测试

为了庆祝胜利,111换成了hello world!

五.总结

整个过程耗时半下午,终于搞定了,一步一步下来基本没有出问题,期间会提示pip版本的warning,忽略即可,其他可能由于网络原因下载会出现失败的情况,多尝试几次即可,或者切换清华源。暂且解决了tf包依赖冲突的问题,后续使用接着寻找新的M1的坑~

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --upgrade package==version


版权声明:本文为BIT_666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。