每当看到人家用 Sublime Text 3
(alias subl
) 或 Atom
里华丽多彩的编程界面,在庞大的一套 project 中游刃有余时,再瞅瞅自己总处在边看教程边学用 Jupyter Notebook
(alias jpt
) 的状态,block by block 运行,不免要妄自菲薄地感慨一番。
subl
和 jpt
都是公认的逆天神器, subl
编辑脚本那是嗖嗖地快,而在 Git
上找到的很多图文并茂的教程都是用jpt
演示的,可惜很久很久都没有找到一个能在 subl
里直接演示和运行.ipynb
的插件,只能列几个稍微能拉近它俩间联系的小工具。
Hermes
这是一个 subl 插件,直接扔给你 jupyter notebook 的高端体验:
尽管有一点点“我在用 jpt”的错觉,但还是很感谢开发者的善解人意。在
subl
中运行Package Control: Install Package
, 然后选择 Hermes
。运行时:
-
Hermes: connect kernel --> New kernel
-- 选择一个内核 -
Hermes: List Kernels
-- 有现成的 -
Hermes: Execute Block
orHermes: Execute cell
-- 运行代码块 -
Hermes: Get Object Inspection
-- 还可以查看变量 -
Hermes: Restart Kernel
,Hermes: Shutdown Kernel
,Hermes: Interrupt Kernel
详细使用看这位老哥的 README.md 吧
优点:
- 可以像 jpt 一样实时查看输出,双屏对比
- 暗背景的 color theme 和 highlight syntax 搭配,提高注意力!
缺点:
- 储存和打开的时候仍然是
.py
文件,不是直接与.ipynb
交互,因为很多 tutorials 下载下来仍然是 jpt 的格式,转换不方便 - 不能用 jpt 的快捷键 shortcuts
- 不能用 jpt 的插件 extensions
还是很想很想用jpt
怎么办
刚刚从这篇教程学会了在 mac 上可以双击打开.ipynb
的“自动操作” 小程序:
- 打开
Automator/自动操作
,新建应用程序
- 选取
资源库 --> 实用工具 --> 运行AppleScipt
,用下面的代码填充内容:
on run {input}
set the_path to POSIX path of input
set cmd to "jupyter notebook " & quoted form of the_path
tell application "System Events" to set terminalIsRunning to exists application process "Terminal"
tell application "Terminal"
activate
if terminalIsRunning is true then
do script with command cmd
else
do script with command cmd in window 1
end if
end tell
end run
- 取个喜欢的名字,保存成
.app
文件,拖到Applications
里面 - 找
.ipynb
文件,在“查看简介”中修改打开方式就可以实现双击打开 - 习惯问题,也可以把
terminal
改成iTerm
来打开,反正结果都一样
缺点:
- 每次都会从
terminal
重新启动内核,会不会占用很大的内存呢?(Hermes
似乎也是启动新内核,可能需要学习一些新技巧或者培养使用习惯)
以下参考了这篇 “新手流程”
(博主整理地好哇,内容基本直接粘贴过来的)
01 runipy
在 terminal
中运行
# https://github.com/paulgb/runipy
pip install runipy
runipy mynotebook.ipynb
优点:
- 相比
python script.py
,在运行代码的时候把代码也打印出来,方便查看运行进度。
当然一个最直接的方法是:(这个跟subl
有毛关系。。。)
ipython notebook notebook_name.ipynb
02 一条指令把.ipynb
转换成.py
脚本
jupyter nbconvert --to script --execute --stdout mynotebook.ipynb | python
03 jupyterthemes
大神之作!直接把jpt
改造成看起来“高大上”的 editor !参考点这里
pip install jupyterthemes
调整时命令行用jt
,便捷 :
# dark
jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T
# light
jt -t grade3 -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T
# 我最喜欢的一种风格,暗色monokai风格,ubuntu字体,宽带调整为88%的宽屏模式
jt -t monokai -f ubuntu -cellw 88%
# 恢复成原有的样式
jt -r
04 使用VSCode内置的ipython
- 在代码的上面一行加上
#%%
就会看到Run cell
的按钮,点击之后就能运行直到下一个#%%
的代码了。爽得不行。
还有一些。。。
就是用 Pineapple 和 nteract 这两个编辑器。Atom 的方法就不尝试了,我每次打开 Atom 都是要花“一点”时间的。
Anyway, The most effective way to do it, is to do it. (Amelia Earhart)
所以,不用太在意环境,最重要的是把工作做对做好。(这句话更像是对自己说的。。)
配置 jpt
拓展插件 nbextensions
Resuly.me: 把Jupyter Notebook配置成Coding神器
完结撒花,顺便找到一波非常酷炫的 sublime text 3 插件 以及那些在jpt
中6到飞起的subl
操作!