这些Jupyter Notebook的黑科技,你使用过吗?(附代码)

640?wx_fmt=jpeg


翻译 | 宋文伯 校对 | 丁楠雅 来源 | 数据派THU(ID:DatapiTHU)


简介


Jupyter Notebook是当今最受Python使用者(尤其是热衷于机器学习和数据科学的Python使用者)青睐的编译环境。我在数月以前首次接触机器学习时发现了这个神器,稍加使用后就被它深深吸引。然而,这种感觉很快就消失殆尽了,因为我发现Jupyter Notebook的界面非常单调,缺乏许多有用的功能。从那时起,我开始寻找一些可以在Jupyter Notebook中使用的黑科技,来满足一名Python使用者的日常所需。


在本文中,我将会介绍一些Jupyter Notebook的附加扩展组件和指令,进而帮助Python使用者大大提高Jupyter Notebook的使用体验,从而提升工作效率。


简而言之,本文将教你如何赋能Jupyter Notebook!


一旦你顺着本文的指示操作,你将会得到(且不局限于)以下令你的Jupyter Notebooks 焕然一新的功能:


1. 无需重启Jupyter Notebook即可在多个Conda环境之间自由切换。

2. 一键生成“可单击目录”(我相信大部分人会喜欢上这个功能的!)。

3. 一个非常有用的草稿测试区(这是我最喜欢的功能!) - 可以在此区域中运行和测试代码,且同时不会更改Jupyter Notebook中的任何内容。

4. 在代码单元内实现代码折叠 – 有效弥补了Jupyter Notebook中此类功能的空缺。

5. 一键隐藏代码单元格 - 这是数据可视化时的重要功能,因为听众通常对图表而不是代码感兴趣!

6. 一个超级酷的变量检查器。

7. 适用于Markdown单元格的拼写检查程序。

8. 夜间写代码必备的禅模式。

9. 一个代码片段菜单,用于动态添加常用的Python结构,如列表理解。

10. 最后压轴的是一个最棒的功能 —— 一个让人心情舒缓的午夜蓝配色方案,拯救我们疲劳的双眼!


赋能时刻


首先,白色背景会让我们的眼睛在一天的长时间工作后疲惫不堪,我们需要确保我们的Jupyter Notebook本有一个极佳的暗色主题来保护我们的视力。相信我,一旦你使用暗色主题,就再也不会愿意切换回亮色主题了。


使用以下命令安装用于更改Jupyter Notebook主题配色的package:

 
 
# Kill and exit the Notebook server	
# Make sure you are in the base conda environment	
conda activate base	
	
# install jupyterthemes	
pip install jupyterthemes	
	
# upgrade to latest version	
pip install --upgrade jupyterthemes

在安装完成上面的package后,运行以下命令,将Jupyter Notebook默认的亮色主题更改为曼妙的深蓝色主题。你的双眼会因为这一举动而倍加感激。

 
 
# Enable Dark Mode	
jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T

 接下来,让我们看看是否可以在Jupyter Notebook中使用在Anaconda中创建的自定义环境作为内核。这将确保我们可以通过在内核菜单中的选择环境功能自如切换内核,而无需重新启动Jupyter Notebook。


假设在Anaconda创建了两个自定义环境:My NLP和Gym。为了添加这些内容进Jupyter Notebook,需要执行以下命令:

 
 
# 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 gym	
pip install ipykernel 	
python -m ipykernel install --user --name=gym

现在打开你的Jupyter Notebook,点击内核菜单中的更改内核选项,这时可以看到全部的内核,只需单击即可激活它们。


640?wx_fmt=png

这就是新添加的内核应该出现的地方。注意那舒缓的午夜蓝色主题


对于我上面提到的所有其他很酷的功能,我们只需简单执行以下命令,为Jupyter Notebook安装一个名为nbextensions的扩展组件:

 
 
# Stop and exit your Jupyter Notebook server 	
# Make sure you are in the base environment	
conda activate base	
	
# Install the nbextensions 	
pip install jupyter_contrib_nbextensions	
# Install the necessary JS and CSS files 	
jupyter contrib nbextension install --system

启动Jupyter Notebook服务器,在开始页的第四个选项就是nbxtensions。点击它即可看到一系列Jupyter Notebook使用者所期望拥有的功能。


640?wx_fmt=png

nbextensions 界面


正如上图所见,nbextensions有着庞大的扩展列表,甚至第一眼看上去有一些密集恐惧。不过不用担心,我们并不需要所有的扩展应用。以下我列出了个人觉得比较有用的功能:


1. 目录(2) - 只需单击一次,即可生成整个Jupyter Notebook的目录,其中包含指向各个分区的超链接。

2. 草稿测试区 - 我认为最好的扩展。它提供一个单独的区域,供使用者在不干扰Jupyter Notebook其余部分的情况下进行代码测试。

3. 代码折叠 – 无需解释的好功能。

4. 隐藏全部输入 - 隐藏所有的代码单元格,同时始终保持输出和标记单元格可见。如果你试图向非技术人员解释你的结果,这将非常有用。

5. Variable Inspector - 类似于Spyder IDE中的Variable Inspector窗口,拯救在陷于Debugging泥潭中的我们。

6. 拼写检查器 - 用于对Markdown格式的单元格中的内容进行拼写检查。

7. 禅模式 – 隐去界面中的干扰功能,让我们可以专注于重要的代码部分。

8. 代码模版菜单 - 一个很酷的常用代码模版集合,从List Comprehensions到Pandas以及两者之间的一切。这还不是全部,我们可以修改并在此之中添加自己想要的自定义代码模版。


上面8条包含了我日常所需的扩展程序,但在此我也鼓励大家勇于尝试其他的扩展程序,比如一些我觉得很有趣的程序:ScrollDown,table_beautifier以及Hinterland。


640?wx_fmt=png代码模版扩展与工作中的目录生成扩展一起使用


640?wx_fmt=png

草稿测试区扩展


尾记


如果您对Jupyter Notebook的这些增强功能有任何看法,或者在安装扩展时遇到问题,欢迎在下方的留言区评论!


原文标题:Supercharging Jupyter Notebooks

原文链接:

https://towardsdatascience.com/supercharging-jupyter-notebooks-e22f5ad7ca18

编辑:王菁 校对:杨学俊


(*本文为 Python大本营转载文章,转载请联系原作者,原标题:独家|手把手教你赋能Jupyter Notebooks!(附代码)


社群福利

扫码添加小助手,回复:大会,加入2019 AI开发者大会福利群,每周 一、三、五更新技术福利,还有不定期的抽奖活动~ 640?wx_fmt=jpeg



2019 AI 开发者大会


本次大会除了来自阿里、华为、Google Brain、Amazon、微软中国、百度、京东、小米、快手、科大讯飞、商汤、旷视等企业重磅嘉宾演讲外,更有亚马逊首席科学家李沐老师的深度培训课程,详情请扫描海报二维码查看。

640?wx_fmt=jpeg

推荐阅读:


640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值