ipython和jupyter哪个好_学习笔记:Jupyter和IPython

IPython Kernel

说起Jupyter,就要先说一下IPython Kernel。IPython Kernel是一个独立进程,用来执行用户的python代码,kernel进程和notebook或者Qt console这类的前端通信。一个kernel进程可以有不止一个前端,因为共享了kernel,所有的前端可以共享python变量。

IPython Kernel由两部分组成,一部分是Python的执行核心,用来解析执行python代码,另一部分是与前端通过Json格式的消息队列通信的支持。

b88494f8f866?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

IPython Kernel的设计初衷是为了同时支持多个前端,但这种设计使得为前端添加其他语言的kernel非常容易,也就是使同样的前端支持多种语言。最简单的方式,是复用IPython Kernel的消息机制,只需要重写语言执行核心即可 (Wrapper Kernel)。另外一种方式是为新语言重写一个新的kerne (Native Kernel)

Notebooks

Notebooks 负责运行代码,存储代码和输出,它可以把代码和输出等所有信息存储为一个文件,也可以加载之前存储的文件。这个文件就是notebook,扩展名.ipynb

b88494f8f866?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

IPython

Jupyter 项目的前身其实就是IPython Notebook。它是由IPython项目中编程语言无关的部分,如notebook format,message protocol, notebook web application等单独分化而来。现在IPython主要作为Python Shell存在,它为Jupyter提供了python kernel。

参考资料

https://jupyter.readthedocs.io/en/latest/architecture/how_jupyter_ipython_work.html

https://jupyter.readthedocs.io/en/latest/ipython/content-ipython.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值