我将如何使用 node.js (Express.js) 创建一个可以访问 python 或 ipython REPL 命令行的 Web 应用程序?本质上,我想拥有类似IPython Notebook的东西,但集成到 node.js Web 应用程序中。我还在考虑使用 websockets 在应用程序和服务器上的 python 实例之间进行低延迟的双向通信。
问问题
1353 次
1 回答
2
使用 ZMQ 节点绑定,并使用与 IPython 相同的协议直接与内核对话,如果您想要节点的 IPython 笔记本,您可以创建一个节点内核(需要更新最后一个协议版本)。IPython webserver 已经有 websocket 并且 Emacs EIN已经使用它通过 websocket 向服务器发送消息。
[编辑]
评论后的一些澄清。关于notebook,首先打开notebook web app时会涉及到3个组件。
- 内核(K)——在我们的例子中是 IPython 内核,但可以是 IJulia、IHaskell...
- 服务器(S)——在我们的例子中是龙卷风
- 客户端 (C) -- 用于笔记本的 Html/Js 前端
(K) 使用 ZMQ 与 (S) 交谈。(S) 充当 ZMQ<->Websocket 转换的桥梁 (C) 通过 websocket 与 S 对话。
ZMQ 和 Websocket 上发生的事情与语言无关,因此您不必关心(K)、(S) 或 (C) 的语言。ZMQ和Websocket在不使用相同的传输,不使用相同的接口/ip,以及不使用相同的端口方面有很大的变化。
于 2013-05-29T15:35:15.377 回答