报错原因主要是因为 M1 的芯片只能安装高版本的 numpy
而 d2l 需要低版本的 numpy 导致安装失败
只要手动安装低版本的 numpy 即可
安装前确保系统已正确安装 conda、homebrew
1. conda创建d2l 环境(只能使用 python3.8 的版本)
conda env remove --name d2l
conda create --name d2l python=3.8 -y
conda info --env
conda activate d2l
2. 下载 tensorflow_macos
3. 安装 numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl
- 查看安装包位置
python
>> import sys
>> sys.path
[..., /Users/xxx/miniconda3/envs/d2l/lib/python3.8/site-packages, ...]
- 安装
cd /Users/xxx/miniconda3/envs/d2l/lib/python3.8/site-packages
cp ~/Downloads/tensorflow_macos/arm64/numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl ./
pip install numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl
pip show numpy
4. 安装 openblas
brew install openblas
# 配置环境变量
cd ~
vim .zshrc
export LDFLAGS="-L/opt/homebrew/opt/openblas/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openblas/include"
source .zshrc
5. 安装 d2l
OPENBLAS=$(brew --prefix openblas) pip install d2l==0.17.6
网友评论