这是我主要参考的博客
这里假设已经安装好了miniforge3、python、pytorch。
为了运行d2l,需要再专门创建一个虚拟环境来跑它的代码。
//创建名为d2l的虚拟环境,注意这里的3.10是因为我的python版本是3.10,应该是>=3.8比较合适
conda -create -n d2l python=3.10
//激活环境
conda activate d2l
//在环境中安装pytorch
conda install pytorch torchvision -c pytorch
//安装d2l包,这一步可能会出现问题·
pip install d2l
最后一步输入后,出现了报错,提示pandas包的轮子没有装好,所以我把作者提供的轮子包下载到本地重新安装了一下
链接在这里
下载下面的东西
之后在d2l虚拟环境引入包的位置安装
如果不知道具体位置可以在d2l环境中输入python打开python解释器
输入:
两条命令。
最后一部分应该是/Users/***/miniforge3/lib/python3.10/site-packages
是site-packages的路径。记下这个路径(***)是你的用户名
退回到(base)环境中,使用口令
sudo su //切换到root
(输入密码)
一路cd到sitepackages的包 之后使用口令安装(不知道顺序可以先ls再cd):
pip install /Users/***/Desktop/d2l-0.15.1-py3-none-any.whl
这样我就安装成功了~
安装好后,我尝试了很久能不能pycharm中运行,发现不可以,d2l这个包一直无法导入,于是只能尝试用jupyter notebook运行。
打开jupyter notebook的方法:
在terminal(base环境还是d2l环境都可以)中输入:
jupyter notebook
这个时候我发现想new一个文件的时候没有d2l的环境,会导致import torch报错没有这个moudule。而且只有base的python的环境…
所以只能再次解决问题
因为查询到可能是没有安装核(kernel)的问题。
参考博客1
参考博客2,介绍了不同口令间的关系
jupyter notebook 默认安装在 base环境下
那么我们需要在base环境里安装 nb_conda_kernels
我退回到base(conda deactivate)环境输入
conda install nb_conda_kernels #安装核
无语的是这一步我的电脑会报错…
//报错内容
Permission denied: '/Users/***/miniforge3/lib/python3.10/site-packages/appnope-0.1.3.dist-info/INSTALLER'
()
我一开始没管,进入了d2l环境,conda list之后发现没有ipykernel的文件,于是在在虚拟环境中添加kernel模块
参考博客
conda install ipykernel
这步倒是没问题,但是安装好后我再次输入jupyter notebook 显示command not found
好想哭
退回base输入这个口令也打不开了,我的精神濒临崩溃谁懂…
之后我按照zsh:command not found:jupyter的解决方法去搜,提示可能是没有在环境变量里加入路径。
于是我
pip3 show jupyter #寻找jupyter的路径
会出现这么一行:
Location: /Users/***/miniforge3/lib/python3.10/site-packages
这个就是jupyter的安装路径。
vim ~/.zshrc
把这个路径加入里面
shift: wq 保存
source ~/.zshrc
结果还是不行······
于是我想可能是前面permission报错的问题
果然是它的问题!
前面的permission提示没有权限,需要获得root权限来安装
因此
sudo su //切换为root
//输入密码
conda install nb_conda_kernels //在这里安装内核
退回到base 或者 d2l环境下再次执行Jupyter notebook,就可以啦!
注意要退回虚拟环境,root下不支持打开jupyter notebook~
这个时候,Jupyter notebook也有了之前安装的虚拟环境,import pytorch也不会报错啦~
11.15更新
后来我发现在jupyter notebook中没有我之前的名为pytorch的虚拟环境,我就进入pytorch环境重新执行了
conda install ipykernel
结果在pytorch环境中无法打开jupyter notebook,这个我确实不知道为什么
不过关闭terminal再打开,在base环境中运行jupyter notebook确实是有,而且创建后也可以正常import torch了~
贴一篇博客,我没有试过,但是或许可以是虚拟环境无法打开jupyter的解决办法
链接