文章介绍了用于终端的Jupyter Notebook工具nbterm,该工具让开发者可以在命令行中运行Jupyter Notebook。文章涵盖了nbterm的安装方法、基本用法、嵌入用法以及产品持续开发的情况。
可以使用pip或mamba来安装nbterm。使用终端运行已存在的Jupyter Notebook文档,基本命令包括帮助命令、运行notebook所有单元等。也可以将nbterm用作库嵌入自己的应用程序中。
nbterm的开发者David Brochart是Jupyter生态库的开发人员。目前nbterm是正在开发中的软件,未来可能会增加输出方式,如使用ASCII码解决终端显示字符的限制问题,并添加交互功能以及简单的滑块、按钮、菜单等GUI部件。
提供入门Python的最强三件套《ThinkPython》、《简明Python教程》、《Python进阶》的PDF电子版,关注公众号并在后台回复关键字即可获取。
博雯 发自 凹非寺
量子位 报道 | 公众号 QbitAI
Jupyter Notebook,一般都是在网页上使用,可是你想过它有一天也可以在命令行中运行吗?
这就是用于终端的Jupyter Notebook工具nbterm:
正在使用Jupyter Notebook又更习惯终端编辑的开发者们,一起来看看这款轻便的工具吧。
开始使用nbterm
安装
你可以使用任何你喜欢的软件包管理器来下载它:
$ pip install nbterm
或
$ mamba install nbterm -c conda-forge
运行一个已存在的Jupyter Notebook文档
$ cd ~/nbterm #你的nbterm存储路径
$ nbterm my_notebook.ipynb
然后使用终端来进行开发:
基本命令
输入help以得到帮助:
$ nbterm —help
在批处理模式中运行notebook所有单元:
$ nbterm --run my_notebook.ipynb
如果未使用—save-path指定新名称,则会自动生成名为my_notebook_run.ipynb的新文档。
嵌入用法
也可以将nbterm用作库并将其嵌入到自己的应用程序中,此时所有协作者都可以进行编辑。比如你可以重新排列单元格,然后一起运行:
import asyncio
from nbterm import Notebook
nb = Notebook("my_notebook.ipynb")
nb.cut_cell(3)
nb.paste_cell(1)
asyncio.run(nb.run_all())
nb.save()
产品持续开发中
这是一款目前正在开发中的软件,作者David Brochart是一位任职于quantstack的软件开发员,致力于Jupyter生态库的开发,比如nbclient、jupyter-client、ipykernel、ipywidgets等。
而对于这款软件,David Brochart也提到,nbterm不会重用Jupyter的基本组件,如jupyter-client和nbformat。
因为作为一名参与Jupyter软件包的维护的贡献者,他想要尝试不涉及向后兼容限制的新项目,或者说测试一下开发一个轻量notebook客户端的难度,这就导致nbterm相当精简的代码库。
不过现在,他也有了一些关于nbterm未来的构想:比如尝试增加其输出方式。
终端虽然只限制于显示字符,但ASCII码可以使这个问题迎刃而解。
David在前段时间已经使用ASCII后端对matplotlib图形库尝试了绘制: