Jupyter配置

date
May 7, 2021
slug
jupyter
status
Published
tags
How To
summary
Config of jupyter
type
Post
Jupyter 仅仅提供了编程和管理的界面,而真正的执行则是在各个 Kernel 中来完成的;因此,所需要的仅仅是在各个 env 中都能调用 Jupyter(而选择 Kernel 在 Jupyter 中即可完成);所以若仅安装在 py3 中,则在 base 或其他的 env 中就需要使用 jupyter 这个命令;而安装在 base 则可在任意 env 中使用 jupyter 命令(优先级应该先是在当前的 env,然后在 base 中)。
jupyter notebook运行需要的kernel和conda创建的虚拟环境并不能完全互通。利用conda创建了虚拟环境,但是启动jupyter notebook之后却找不到虚拟环境。实际上是由于在虚拟环境下缺少kernel.json文件。

为Base环境下的Jupyter添加别的环境下的kernel

Jupyter 安装在base环境中,那么就要手动的将所有虚拟环境kernel添加到jupyter中,过程如下:
假设当前虚拟环境如下:
C:\Users\brc\Desktop\temp>conda env list # conda environments: # base * D:\miniconda3 pytorch D:\miniconda3\envs\pytorch tf20 D:\miniconda3\envs\tf20
且jupyter也已经在base环境中装好。若要将pytorch环境的kernel添加到Jupyter:
首先激活pytorch环境
C:\Users\brc\Desktop\temp> conda activate pytorch
进入到pytorch环境中后,安装Jupyter 所需的 IPython kernel在该环境中(切记是安装在pytorch环境中)
(pytorch) C:\Users\brc\Desktop\temp> conda install ipykernel
然后将pytorch环境写入jupyter的kernel中:
python -m ipykernel install --user --name <环境名称,此处为pytorch> --display-name "你想为kernel添加的名称"
(pytorch) C:\Users\brc>python -m ipykernel install --user --name pytorch --display-name "pytorch" Installed kernelspec pytorch in C:\Users\brc\AppData\Roaming\jupyter\kernels\pytorch
注意,此处仅仅使用了python 命令,所以不要求该环境已安装 Jupyter。
执行上述命令后,可以看到返回文件地址
这样 在命令行直接 输入jupyter lab 就会出现 以下两个kernel
notion imagenotion image
若想要修改kernel名字,通过命令jupyter kernelspec list
C:\Users\brc>jupyter kernelspec list Available kernels: pytorch C:\Users\brc\AppData\Roaming\jupyter\kernels\pytorch python3 D:\miniconda3\share\jupyter\kernels\python3
得到这两个kernel的json文件,如下,然后直接修改"display_name"即可
{ "argv": [ "D:/miniconda3\\python.exe", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 3", "language": "python" }

相关命令

查看jupyter所有的kerneljupyter kernelspec list
删除指定的kerneljupyter kernelspec remove 'kernelname'

Jupyter 插件

安装jupyter lab 插件前需要安装node.js 安装node.js时会检查系统中是否有python,如果没有则会重新下载最新版的python安装到c盘。
注:conda下的python直接在cmd命令行下没法召唤,需要将...\anaconda\python 添加到系统变量中,才能在cmd命令行直接召唤python。
所以除非想让node.js在电脑上再安装一个python版本,否则安装node.js前在cmd命令行中检查是否可以召唤conda中的python,如果不能召唤,将其添加到系统变量即可。
相关命令
  • 查看已安装插件:
jupyter labextension list
  • 查看 serverextension:
jupyter serverextension list

常用插件

1.JupyterLab Collapsible Headings
可折叠标题是一个有用的扩展,允许你使标题可折叠。通过单击标题单元格左侧创建的 caret 图标或使用快捷方式,可以折叠/取消折叠选定的标题单元格。
2. JupyterLab Table of Contents
JupyterLab 的目录扩展可能看起来不太像技术问题,但它可以省去你大量向下滚动和查找信息时的麻烦。当你打开笔记本或标记文档时,它自动生成左侧区域中的目录。这些条目是可单击的,你可以将文档滚动到相关标题。
3. JupyterLab variableInspector
变量检查器是 JupyterLab 的有用扩展,它显示当前使用的变量及其值。它受到 jupyter 笔记本的可变检查器扩展和 jupyterlab 中包含的检查器扩展的启发。
它具有如下功能:
  • 检查 python 控制台和笔记本的变量
  • 检查数据网格查看器中的矩阵,但是,它可能不能用于大型矩阵
  • 内联和交互式检查 Jupyter 小部件
4. jupyter-matplotlib
jupyter-matplotlib帮助我们在notebook界面配合matplotlib实现交互式的作图,只需要在绘图之前执行魔法命令%matplotlib widget,之后绘制的所有matplotlib图表即可自动转换为交互式的
5. jupyterlab-kite
帮助我们建立代码补全神器kite与jupyter lab之间的通道,帮助我们在jupyter lab使用kite代码补全服务

编译

安装完插件后 jupyterlab会提醒你需要对jupyterlab进行编译,所以暂时退出jupyterlab,在CMD或Anaconda Prompt中Ctrl+C退出jupyter服务。然后在CMD或Anaconda Prompt中输入:
# 先clean jupyter lab clean # 再build jupyter lab build

参考

  1. 知乎专栏:卸载 Anaconda 转用 Miniconda & 为 Jupyter 添加 Kernel
  1. Medium 博客Create Virtual Environment using “conda” and add it to Jupyter Notebook
  1. CSDN 博客 Win10系统Jupyterlab 安装踩坑记录
  1. 个人博客:一方的天地