報錯原因主要是因為 M1 的芯片只能安裝高版本的 numpy
而 d2l 需要低版本的 numpy 導(dǎo)致安裝失敗
只要手動安裝低版本的 numpy 即可
安裝前確保系統(tǒng)已正確安裝 conda逝撬、homebrew
1. conda創(chuàng)建d2l 環(huán)境(只能使用 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
# 配置環(huán)境變量
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