【深度学习】修改jupyter记事本的内核
问题描述
在使用 juypter 记事本执行 ipynb 文件时,默认使用的内核是 Python3
如果这个环境不包含我们所使用的库,比如 pytorch 的库,当我们的代码中调用 pytorch 的一些库方法时,如下面的代码:
import torch
此时执行就会报错,会提示找不到对应的模块:
ModuleNotFoundError: No module named 'torch'
因为环境中没有torch库,所以发生了报错
要解决这个问题,我们需要往 jupyter 中添加内核,添加以后切换到对应的内核,执行我们的代码
问题解决
首先激活自己使用的环境(这个步骤一定要操作):
conda activate d2l
写入新的内核之前,先查看现有内核,执行下面的命令:
jupyter kernnelspec list
输出:
Available kernels:
python3 /home/anaconda3/envs/d2l/share/jupyter/kernels/python3
从输出可以看到,没有我们的 d2l 内核,使用下面的命令添加新内核:
python -m ipykernel install --user --name=d2l # name后面是要添加的内核名
此处需要注意:写入内核之前一定要先激活要添加的虚拟环境
此时,我们再次查看现有内核:
jupyter kernnelspec list
输出:
Available kernels:
python3 /home/anaconda3/envs/d2l/share/jupyter/kernels/python3
d2l /home/.local/share/jupyter/kernels/d2l
如果有上面的输出内容,就证明我们的内核添加成功
我们还可以删除多余的内核,执行下面的命令:
jupyter kernelspec remove xxx
xxx 代表我们要删除的内核名,通常就是虚拟环境名
验证效果
在完成了上面的内容后,我们需要验证是否可以切换内核以及是否成功配置
使用命令打开 jupyter notebook:
jupyter notebook
进入页面以后,进入想要运行的 ipynb 文件,在菜单栏中找到 Kernel --> Changed kernel
选择以后,在弹出的窗口中,选择下拉选项框:
可以看到我们刚刚添加的内核已经出现了,选择以后,再点击“Select”
之后我们再次执行命令,可以发现正常执行了,并且在页面右上角可以看到我们的内核名:
综上,我们就完成了 jupyter 内核的切换