d2l 安装记录
由于 d2l 安装 中的指南并不详情,且 M1 的 Mac 踩了比较多的坑,在此记录一下。
安装 miniconda
首先 miniconda 是一个环境管理工具,用来快速切换环境,有些类似前端的 n
或 nvm
用来快速切换 node 版本。
python 镜像切换
pip config list
查看 python 配置pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
切到清华源pip config unset global.index-url
切回官方源
~/.config/pip/pip.conf
所有配置的存储路径
conda
~/miniconda3/bin/conda init
本质上是在 bash_profile 中追加 conda 的环境conda create --name d2l python=3.9 -y
创建一个 d2l 的环境名字,用于后续切换conda activate d2l
用于激活 d2l 的环境conda deactivate
用于恢复环境
验证,只有所有以下命令的路径都指向
~/miniconda3/envs/d2l/bin/*
说明成功,否则可能需要清理环境,或使用绝对路径。
(d2l) $ which pip3
/Users/zhoukeke/miniconda3/envs/d2l/bin/pip3
(d2l) $ which python
/Users/zhoukeke/miniconda3/envs/d2l/bin/python
(d2l) $ which jupyter
/Users/zhoukeke/miniconda3/envs/d2l/bin/jupyter
(d2l) $ which pip
/Users/zhoukeke/miniconda3/envs/d2l/bin/pip
推荐安装
下载书本后,会发现 tensorflow 的部分样例是没有的,然后通过文件夹 size 大小的判断,paddle 的样例应该是最全的,所以,先推荐安装 paddle。
mxnet 在 M1 Mac 上暂不支持,需要从源码编译,就比较折腾,所以也不怎么推荐。
$ du -sh ./*
60M ./mxnet
135M ./paddle
60M ./pytorch
54M ./tensorflow
Paddle 环境安装
因为我的 Mac 环境有污染,所以,为方便起见,直接用绝对路径安装,如果你的 conda 环境正常污染,则直接用 pip3 install d2l==0.17.6 paddlepaddle
即可。
~/miniconda3/envs/d2l/bin/pip3 install d2l==0.17.6
~/miniconda3/envs/d2l/bin/pip3 install paddlepaddle
jupyter
conda install jupyter
来安装- 或
~/miniconda3/envs/d2l/bin/pip3 install jupyter
来安装(环境有污染的情况下)
- 或
jupyter notebook
用于启动- 或
~/miniconda3/envs/d2l/bin/jupyter notebook
来启动(环境有污染的情况下)
- 或
污染环境清理
如果污染环境不清理,conda 的环境容易被污染和复写。
jupyter 包括 brew、系统自带的。参考 how-to-uninstall-jupyter
/opt/homebrew/bin/pip3 uninstall jupyter jupyter_core jupyter-client jupyter-console jupyterlab_pygments qtconsole notebook nbconvert nbformat nbclassic nbclient jupyterlab-widgets jupyter-events jupyter-server jupyter-server-terminals
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip uninstall jupyter jupyter_core jupyter-client jupyter-console jupyterlab_pygments qtconsole notebook nbconvert nbformat nbclassic nbclient jupyterlab-widgets jupyter-events jupyter-server jupyter-server-terminals
验证
# 默认环境无 jupyter,无法找到相关命令
(base) $ jupyter
zsh: command not found: jupyter
# 启动 conda 的 d2l 环境,能正常使用,则说明环境无污染
(base) $ conda activate d2l
(d2l) $ jupyter
usage: jupyter [-h] [--version] ...
Python 环境验证
# 在 d2l 环境中,python 为 d2l 的 python,且版本为 3.9
(d2l) $ python --version
Python 3.9.18
(d2l) $ which python
/Users/zhoukeke/miniconda3/envs/d2l/bin/python
(d2l) $ conda deactivate
# 在非激活环境下,python 为正常的路径,版本为 3.11.4
(base) $ which python
/Users/zhoukeke/miniconda3/bin/python
(base) $ python --version
Python 3.11.4