JupyterLab 是 Jupyter Notebook「新」界面。它蕴含了 jupyter notebook 的所有性能,并降级减少了很多性能。它最大的更新是模块化的界面,能够在同一个窗口以标签的模式同时关上好几个文档,同时插件治理十分弱小,应用起来要比 jupyter notebook 高大尚许多。
1、拼写查看
拼写查看能够让咱们的文档放弃更高的品质,默认状况下,拼错的单词会以红色背景突出显示,然而这里我将其设置为下划线。
应用这个性能只有装置以下的插件:
pip install jupyterlab-spellchecker
2、代码格式化
这里须要装置几个包,一个是提供格式化性能,另外一个是咱们的 jupyterlab 插件
# Install the formatters
$ pip install black isort
# Install the extension
$ pip install jupyterlab-code-formatter
通过 Jupyter Lab Code Formatter 扩大能够取得很多的格式化性能
装置实现后,顶部会呈现一个奇怪但看起来很酷的图标。如果您不想应用该按钮,您能够将扩大配置为保留时主动格式化 (在 Advanced Settings Editor 设置)。
3、多行抉择
这个性能与 jupyter notebook 一样,点击时按住 Ctrl 键能够多选。只能在单个单元格内进行多选。
4、增加虚拟环境
应用以下命令将虚拟环境作为内核增加到 Jupyter Lab,这样就能够作为一个选项呈现在 Launcher 或内核列表的右上角:
$ pip install ipykernel
$ ipython kernel install --user --name=new_or_existing_env_name
留神:以上代码须要在你须要增加的虚拟环境应用,而不是 jupyter lab 的环境
5、像运行脚本一样运行 notebook
Jupyter notebook 用于摸索和互动输入。然而应用 jupyter run 命令,能够像 Python 脚本一样程序执行每个笔记本单元格。
jupyter run path_to_notebook.ipynb
该命令会以 JSON 的模式返回每个单元格的输入,所以如果有大量文本输入可能会卡顿。咱们能够将不同的超参数保留到单个笔记本中而后运行,这样能够保留运行记录。
6、宰割编辑器窗口
Jupyter Lab 的窗口以标签的模式展现,咱们一次能够关上好几个编辑窗口,并且能够拖动窗口,将编辑器窗口宰割,演示如下:
7、随时查看文档
有三种办法能够间接从编辑器中查找简直任何函数或魔法命令的文档。
第一个是应用 Shift + Tab 键盘快捷键(默认),它会显示一个弹出窗口,其中蕴含光标所在的函数或类的文档:
如果不喜爱点击其余中央后弹出窗口隐没,还能够应用上下文帮忙,它能够通过帮忙菜单或 Ctrl + I 键盘快捷键拜访。上下文帮忙显示游标指向的函数或类的实时文档。
最初,一种办法能够简略地在函数或类名的开端增加一个问号 (不带括号):
8、终端命令和 Python 代码混合开发
这个性能看起来有点乖僻,但它十分有用。应用感叹号 (!),能够在代码单元格中运行任何终端命令。
还能够将这些命令的输入存储在 Python 变量中。例如应用!pwd 的输入将当前工作目录存储在 path 变量中:
path = !pwd
这里有一个更理论的例子。假如有一个数据文件夹,其中蕴含用于模型训练的图像。所有图像都依据它们的类被分类到目录中。
问题是有太多的图像类别,咱们无奈手动计数。须要应用一个疾速的办法来计算 data/raw/train 外部的目录数量,并将其输入存储在 number_of_classes 中:
number_of_classes = !ls -1 data/raw/train | wc -l
>>> print(number_of_classes)
43
一句 shell 命令就能解决问题,这样就不必咱们写 python 的目录遍历代码了
9、告诉执行
即便你不是谷歌 Colab 的用户,你也肯定会喜爱它的单元格执行告诉。应用 winsound 内置 Python 库,能够在 Jupyter Lab 上模拟该性能:
import winsound
# Create a beep that lasts five seconds
duration = 5000
frequency = 440
winsound.Beep(frequency, duration)
10、主动重载批改后的 Python 脚本
将脚本与笔记本混合应用是十分不好的,然而有时候咱们确实须要这样做,如果咱们更新了导入的脚本,除非重新启动内核,否则 Jupyter 将不会自动检测到更改,这会产生很多问题。所以咱们能够应用 autoreload 命令来防止这个问题:
%load_ext autoreload
%autoreload 1
上述代码将每秒钟检测并刷新一次内核。它不仅会检测脚本更改,还会检测对所有文件的更改。
对于 python 脚本,咱们还能够应用 pycat 命令来以语法高亮的模式显示 Python 脚本的内容:
对于其余文件格式,也能够应用 cat 命令,这是 linux 的规范命令
总结
本文介绍了几个罕用且好用的 jupyter 技巧,如果你还想理解个更多的魔法命令,能够运行 lsmagic。它将列出所有内联和单元格魔术命令。
https://avoid.overfit.cn/post/5f262543e01045cbab0aaafc5f6966c5
作者:BEXGBoost