温尼伯站

 找回密码
 注册用户
搜索
热搜: 接送 租房
查看: 93|回复: 0
上一主题 下一主题

[综合资讯] Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花样

[复制链接]

14万

主题

14万

帖子

29万

积分

管理员

有bug,有问题请私信。

Rank: 9Rank: 9Rank: 9

积分
290469
跳转到指定楼层
楼主
发表于 2019-7-23 01:03:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
选自Towardsdatascience
作者:Pranjal Chaubey
机器之心编译
参与:Nurchachu Null、张倩
深蓝主题、Conda 环境自由切换、一键生成目录、一键隐藏代码单元……有没有想过 Jupyter Notebook 还可以这么玩?
对全世界的 Python 高手而言,Jupyter Notebook 是目前最流行的编程环境,尤其是对那些从事机器学习和数据科学的人而言。数月前我第一次开始认真研究机器学习时发现了 Jupyter Notebook。刚开始,我因这一切可以在我的浏览器中运行而感到惊讶和开心。但是,不久后我就失望了,老套的 Jupyter Notebook 的界面非常基础,缺乏很多有用的功能。那时候我就决定去寻找一些 Jupyter Notebook 的黑客技术。
在这篇文章中,我展示了一些 Jupyter Notebook 的附件/扩展,以及一些能够增强 Jupyter Notebook 和提高生产力的命令。简言之,就是要增强你的 Jupyter Notebook。
如果你按照下面的指示去做,你的 Jupyter Notebook 会拥有下面这些令人惊叹的功能(如果你愿意,还能获得更多):

  • 能够动态切换多个 Conda 环境,而无需重启 Jupyter Notebook。
  • 一键点击生成目录(你会喜欢这个功能)。
  • 一个很有用的弹出式便签(这是我最喜欢的功能),无需改变原始笔记本中任何地方就可以把玩、测试你的代码。
  • 代码单元内的代码折叠。很疑惑为啥这个不是 Jupyter Notebook 的固有功能。
  • 一键代码单元隐藏,这是一个重要的功能,当你需要通过可视化的方式展示数据时,人们并不会关心你的代码,而是你的图表。
  • 一个超级酷的变量检查器。
  • 用于 Markdown 单元的拼写检查器。
  • 用于深夜编码会话的禅意黑模式(ZenMode)。
  • 能够动态增加常用 python 结构(例如 List comprehension)的 Code Snippets 菜单。
  • 最后这个绝对是最好的功能——舒缓漂亮的深夜蓝配色方案,拯救你的眼睛!
是时候增强我们的 jupyter notebook 了!
炫酷的深蓝午夜主题
首先,要保证我们的 notebook 有一个漂亮的黑色主题,这样我们的眼睛就会舒服一些。如果你每天要工作很长时间,那固有的白色背景会让你眼睛很难受。无论如何,一旦你换成了黑色,就永远不会想换回来。
使用下面的命令安装黑色的主题,
  1. # Kill and exit the Notebook server# Make sure you are in the base conda environmentconda activate base# install jupyterthemespip install jupyterthemes# upgrade to latest versionpip install --upgrade jupyterthemes
复制代码
主题包安装和更新好之后,运行下面的命令,将原来白色主题的 Jupyter Notebook 换成一款深蓝午夜主题。你的眼睛会喜欢这款主题的。
  1. # Enable Dark Modejt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T
复制代码
Conda 环境自由切换
接下来,看一下我们是否已经把 Anaconda 中创建的所有定制环境作为核心添加在了 Jupyter Notebook 中。这样我们就能简单地利用 Kernel 按钮切换环境。换核的时候不需要重启 notebook。
假设你的 Anaconda 环中有两个自定义的环境 my_NLP 和 gym。按照下面的步骤将这些添加到你的 Jupyter Notebook 中。
  1. # Stop and exit your Jupyter Notebook server first# Activate your environment in the terminal conda activate my_NLP# Install the IPython Kernel pip install ipykernel# Link your environment with Jupyter python -m ipykernel install --user --name=my_NLP# Repeat steps for the other environment, gym. conda activate gympip install ipykernel python -m ipykernel install --user --name=gym
复制代码
现在打开你的 Jupyter Notebook,找到 kernel 按钮下的 Change Kernel 选项,接下来就是见证奇迹的时刻:所有的核都被列举出来了,你可以通过简单地点击来激活一个服务核。

Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花样



这便是最新添加的 Kernel 的展现形式。请注意这款舒缓的午夜蓝主题。
其他炫酷功能
关于我在上面提及的其他炫酷功能,需要安装一些叫做 nbextensions for Jupyter Notebooks 的东西。
安装地址:https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/install.html
安装 nbextensions 是很容易的,简单地遵循下面的步骤就行:
  1. # Stop and exit your Jupyter Notebook server # Make sure you are in the base environmentconda activate base# Install the nbextensions pip install jupyter_contrib_nbextensions# Install the necessary JS and CSS files jupyter contrib nbextension install --system
复制代码
启动 Jupyter notebook 服务,你可以在起始页看到第四个叫做 Nbextensions 的选项。点击这个选项,然后就可以看到极妙的功能集,这些都是你一直希望在 Jupyter Notebooks 中拥有的。

Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花样



Nbextensions 标签!
正如你在上面看到的,这个扩展列表十分庞大,甚至第一眼看上去有些吓人。但并不是所有的都有用,下面是我用到的一些功能:

  • Table of Contents(2):单击生成整个笔记本的目录,不同的 section 都有对应的超链接。
  • Scratchpad:在我看来绝对是最好的扩展了。这是一个你可以在里面做代码实验的独立空间,不会干扰笔记本中的其他部分。
  • Codefolding :代码折叠,这个不需要做过多的解释。
  • Hide Input All:隐藏所有的代码单元,同时保持所有的输出和 markdown 单元可见。如果你要向非技术人员解释你的结果,那么这就会是一个很有用的功能。
  • Variable Inspector:将你从调试的忧伤中拯救出来,这与 Spyder IDE 中的变量检查窗口有些类似。
  • Spellchecker:对 markdown 单元中的内容进行拼写检查。
  • Zenmode:移除掉屏幕中杂乱无关的内容,以便你能够聚焦于重要的东西上,例如代码。
  • Snippets Menu:从 list comprehension 到 pandas 以及它们之间的所有常用代码片段的一个很酷的集合。这是最好的部分?你可以修改窗口的小部件来添加你自己的定制片段。


上述列表包含了我常用的扩展功能,但是我鼓励你去尝试一下其余的扩展功能。一些有意思的功能包括 ScrollDown、table_beautifier 以及 Hinterland。

Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花样



Snippet 扩展和 Table of Contents generation 扩展在工作中同时使用。

Jupyter Notebook界面也可以如此炫酷?有人把Notebook玩出新花样





Scratchpad 扩展
原文链接:https://towardsdatascience.com/supercharging-jupyter-notebooks-e22f5ad7ca18
【郑重声明】温尼伯站坛刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何投资或其他建议。转载需经本网同意并注明出处。本网站有部分文章是由网友自由上传,对于此类文章本站仅提供交流平台,不为其版权负责;部分内容经社区和论坛转载,原作者未知,如果您发现本网站上有侵犯您的知识产权的文章,请及时与我们联络,我们会及时删除或更新作者。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册用户

本版积分规则



手机版|温尼伯站

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

GMT-5, 2024-4-18 12:06 , Processed in 0.085256 second(s), 41 queries , Gzip On.

温尼伯站版权所有

All right reserved by Winnipeg Chinese Media.

快速回复 返回顶部 返回列表