03Jupyter Notebook的增加内核——“ipykernel”
1. 使用场景
-
场景一:同时用不同版本的Python进行工作,在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。
-
场景二:创建了不同的虚拟环境(或许具有相同的Python版本但安装的包不同),在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。
接下来将分别用“命令行模式”和“图形界面模式”来解决以上两个场景的问题。顾名思义,“命令行模式”即在终端中通过执行命令来一步步解决问题;“图形界面模式”则是通过在Jupyter Notebook的网页中通过鼠标点击的方式解决上述问题。
其中,“图形界面模式”的解决方法相对比较简单快捷,如果对于急于解决问题,不需要知道运行原理的朋友,可以直接进入“3. 解决方法之图形界面模式”来阅读。
“命令行模式”看似比较复杂,且又划分了使用场景,但通过这种方式来解决问题可以更好的了解其中的工作原理,比如,每进行一步操作对应的命令是什么,而命令的执行是为了达到什么样的目的,这些可能都被封装在图形界面上的一个点击动作来完成了。对于想更深入了解其运作过程的朋友,可以接着向下阅读。
2. 解决方法之命令行模式
① 同时使用不同版本的Python
⑴ 在Python 3中创建Python 2内核
⒜ pip安装
- 首先安装Python 2的ipykernel包。
python2 -m pip install ipykernel
- 再为当前用户安装Python 2的内核(ipykernel)。
python2 -m ipykernel install --user
- 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
⒝ conda安装
- 首先创建Python版本为2.x且具有ipykernel的新环境,其中“<env_name>”为自定义环境名,环境名两边不加尖括号“<>”。
conda create -n <env_name> python=2 ipykernel
- 然后切换至新创建的环境。
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
- 为当前用户安装Python 2的内核(ipykernel)。
python2 -m ipykernel install --user
- 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
⑵ 在Python 2中创建Python 3内核
⒜ pip安装
- 首先安装Python 3的ipykernel包。
python3 -m pip install ipykernel
- 再为当前用户安装Python 2的内核(ipykernel)。
python3 -m ipykernel install --user
- 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
⒝ conda安装
- 首先创建Python版本为3.x且具有ipykernel的新环境,其中“<env_name>”为自定义环境名,环境名两边不加尖括号“<>”。
conda create -n <env_name> python=3 ipykernel
- 然后切换至新创建的环境。
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
- 为当前用户安装Python 3的内核(ipykernel)。
python3 -m ipykernel install --user
- 注意:“--user”参数的意思是针对当前用户安装,而非系统范围内安装。
② 为不同环境创建内核
⑴ 切换至需安装内核的环境
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
- 注意:“<env_name>”是需要安装内核的环境名称,环境名两边不加尖括号“<>”。
⑵ 检查该环境是否安装了ipykernel包
conda list
执行上述命令查看当前环境下安装的包,若没有安装ipykernel包,则执行安装命令;否则进行下一步。
conda install ipykernel
⑶ 为当前环境下的当前用户安装Python内核
- 若该环境的Python版本为2.x,则执行命令:
python2 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
- 若该环境的Python版本为3.x,则执行命令:
python3 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
- 注意:
-
“<env_name>”为当前环境的环境名称。环境名两边不加尖括号“<>”。
-
“<notebook_name>”为自定义显示在Jupyter Notebook中的名称。名称两边不加尖括号“<>”,但双引号必须加。
-
“--name”参数的值,即“<env_name>”是Jupyter内部使用的,其目录的存放路径为
~/Library/Jupyter/kernels/。如果定义的名称在该路径已经存在,那么将自动覆盖该名称目录的内容。 -
“--display-name”参数的值是显示在Jupyter Notebook的菜单中的名称。
-
⑷ 检验
使用命令jupyter notebook启动Jupyter Notebook;在“Files”下的“New”下拉框中即可找到你在第⑶步中的自定义名称,此时,你便可以尽情地在Jupyter Notebook中切换环境,在不同的环境中创建笔记本进行工作和学习啦!
<a id=gui></a>
3. 解决方法之图形界面模式
① 你创建了一个新的环境,但却发现在Jupyter Notebook的“New”中找不到这个环境,无法在该环境中创建笔记本。
② 进入Jupyter Notebook → Conda → 在“Conda environment”中点击你要添加ipykernel包的环境 → 左下方搜索框输入“ipykernel” → 勾选“ipykernel” → 点击搜索框旁的“→”箭头 → 安装完毕 → 右下方框内找到“ipykernel”说明已经安装成功。
③ 在终端CTRL C关闭Jupyter Notebook的服务器然后重启Jupyter Notebook,在“File”的“New”的下拉列表里就可以找到你的环境啦。
作者:Raxxie
链接:https://www.jianshu.com/p/91365f343585
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

浙公网安备 33010602011771号