如何从单独的进程(例如,编辑器、vim)在Jupyter笔记本服务器中创建和执行单元格?

2024-04-24 04:02:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在运行的jupyter笔记本上调用api来创建或编辑现有的单元格,并运行它。完成此操作后,浏览器页面也应更新,以显示单元格内容和输出

这个api的预期用例是vim编辑器的插件,它将获取高亮显示的行并执行它们。使用jupyter笔记本电脑的动机是,即使vim和笔记本电脑都在远程服务器上运行,也可以使用matplotlib可视化绘图和图像。用户将有一个打开到笔记本的浏览器页面,并单独打开一个终端,该终端可能通过ssh连接到机器并编辑python代码

VSCode在其python交互模式中正是这样做的,但我更喜欢以本机方式使用vim编辑器,而不是简单地切换到VSCode来实现这一点


Tags: 插件api终端编辑内容浏览器笔记本jupyter
3条回答

您可以使用vscode内置的jupyter笔记本支持将笔记本转换为python文件

有几个插件正在为此而积极开发,在没有使用它们的情况下,似乎只有vimpyter在浏览器上与jupyter交互。其他如jupyter-vimvim-ipython的程序在vim缓冲区内打开笔记本

如果你没有内联图也能生存,我发现有一个neoterm终端缓冲区是可以接受的,在那里我可以向IPython发送行和从IPython发送行

这不是一个确切的答案,但我已经编写了两个Jupyter插件,它们可能对您的这项工作有所帮助,JupyterGraffitiJupyterTerminals。Graffiti有一个API,您可以调用它来执行它的一些函数,它支持您可以控制的内联终端。JupyterTerminals只提供那些内联终端,但也有可以添加的按钮来控制它们。您可以在这些终端内启动并运行vim。(如果有用的话,可以向JupyterTerminals插件添加一个API,就像Graffiti所做的那样。)

enter image description here

相关问题 更多 >