之前出过一期Mbp迁移至Mac Mini-M1的教程,使用期间主要使用java,无明显问题,今天尝试在pycharm使用tensorflow,安装conda后,import tf后无法执行,报错 Processed finished with exit code 132,连print都不能用,好家伙原来M1还没支持的版本,情何以堪。于是开始求助于各路大神,好在终于解决了问题,下面铺下整个过程~
https://github.com/conda-forge/miniforge
安装:
在Terminal执行:
sh Miniforge3-MacOSX-arm64.sh
首先安装conda3,链接:https://pan.baidu.com/s/1IvFVHkLcABMScXlUh3y6sA 密码:vtge,基本全程下一步即可,安装完成后打开Terminal执行(这里env_name根据自己需求填写即可):
创建过程中一直回车或者输入yes即可
conda create -n env_name
随后激活环境:
conda activate env_name
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
首先需要下载 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
即下述文件:
至此安装步骤结束
conda env list
找到自己刚刚创建env_name的环境地址:
在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