当前位置: 首页 > 科技观察

新编辑神器!可以在终端运行JupyterNotebook

时间:2023-03-21 16:38:12 科技观察

刚开始学Python的时候,都是用安装好的编辑器软件,比如PyCharm、Spyder。而且,我一直认为编辑器都是这种形式,有些区别只是体验和功能上的区别。直到后来遇到了JupyterNotebook,才发现它是基于web运行代码的,还可以写markdown文本,直接打破了我对编辑器的认知。然而,最近发现了一个新的JupyterNotebook工具,再次打破了我的理解。使用它,您无需在网络上键入代码。它允许我们在终端命令行上使用JupyterNotebookweb。与终端相比,更神奇的是它还支持代码交互和markdown的富文本。虽然到处敲代码,但并没有改变本质,但是真的没想到网页版的JupyterNotebook哪天也能在命令行运行了,分享给大家,说不定会有朝一日被使用。这个工具就是nbterm,下面会介绍。GitHub链接:https://github.com/davidbrochart/nbtermnbterm使用姿势1、安装支持下载各种软件管理包。除了$pipinstallnbterm或conda$mambainstallnbterm-cconda-forge之外,还需要一个内核,例如Python的ipykernel或xeus-python,C++的xeus-cling。2.启动notebook$cd~/nbterm#你的nbterm存放路径$nbtermmy_notebook.ipynb然后使用终端输入代码:3.进入nbterm基本命令的help可以看到nbterm命令的其他命令选项。$nbterm--helpUsage:nbterm[OPTIONS][NOTEBOOK_PATH]参数:[NOTEBOOK_PATH]Pathtothenotebook.[default:]Options:--no-kernelDon'tlaunchkernel.--runRunthenotebook.--save-pathTEXTPathtosavethenotebook.--versionShowtheversionandexit.--帮助显示此消息并退出。例如,以批处理模式运行笔记本的所有单元格。$nbterm--runmy_notebook.ipynb如果--save-path没有指定新名称,将自动生成一个名为my_notebook_run.ipynb的新文档。嵌入使用除了上述操作外,您还可以将nbterm作为一个库嵌入到您自己的程序中,所有合作者都可以编辑。例如,您可以重新排列单元格并将它们一起运行:importasynciofromnbtermimportNotebooknb=Notebook("my_notebook.ipynb")nb.cut_cell(3)nb.paste_cell(1)asyncio.run(nb.run_all())nb.save()a轻量级Jupyter的尝试这个工具的创造者是DavidBrochart,一名在quantstack工作的软件开发者,致力于jupyter生态库的开发,比如nbclient、jupyter-client、ipykernel、ipywidgets等,他自己提到nbterm不会复用jupyter-client和nbformat等Jupyter的基本组件,但想尝试不涉及向后兼容限制的新项目,或者测试开发轻量级笔记本客户端的难度,所以目前的nbterm仍然是一个相当精简的代码库。显然,nbterm还有一些功能需要针对笔记本进行完善。例如,虽然终端仅限于显示字符。但是ASCII码可以解决这个问题。老大尝试过使用ASCII后端绘制matplotlib图形库:但是这个绘图目前只能在MacOS上使用。此外,该项目还提出加入一些类似于ipywidgets的交互功能,以及更简单的GUI组件,如滑块、按钮、菜单等。虽然目前这个工具的可用性不强,但确实是一个启发.就像我当时认为在网络上输入代码很奇怪一样,当我熟悉它时我就习惯了。只要是好闻的,我随便敲都可以,在命令行敲一下就可以安装。图片