jupyter项目深度理解一

Jupyter协议是一个基于HTTP的应用层协议,它定义了Jupyter中各组件(如Notebook、Kernel、Hub等)之间的交互方式。

Jupyter协议的主要组成部分为:

  1. 消息传递协议:定义了内核和客户端(Notebook)之间传递消息的格式。

主要有:

  • Execute :执行单个代码 cell。
  • Execute Reply:执行结束后的结果反馈。
  • Input :内核输入。
  • Output: 内核输出。
  • Stream:标准输出和标准错误等实时流。
  1. 协议版本:定义了Jupyter支持的协议版本,目前主要有v4和v5两代。 v5支持多窗口和分列等新特性。
  2. 触发器:定义了何时触发消息传递,如当 cell 被执行时就触发 Execute 消息。
  3. 魔术命令:以 % 开始的特殊命令,如 %load、%time 等。
  4. 内容表示:定义Notebook内部的数据结构表示,如代码cell、文本cell等。
  5. 安全性:定义了Jupyter使用的鉴权和加密方法。
  6. 向后兼容:为了保持兼容性,新发布的协议版本依然支持旧版本。

总的来说,Jupyter协议通过定义内核和客户端之间标准化的接口规范,实现了Jupyter生态系统中各组件的通信,例如Notebook和Internal等。

并且为保持向后兼容性与灵活性,Jupyter支持多种协议版本。

JupyterLab和Jupyter Notebook主要有以下区别:
  1. 功能
  • Jupyter Notebook 主要提供notebook功能,操作比较单一,只能运行notebook。
  • JupyterLab 不仅可以运行notebook,还提供了

猜你喜欢

转载自blog.csdn.net/zhangzhechun/article/details/131567815