最近,我写了一篇关于如何找到Jupyter项目(尤其是JupyterLab)成为神奇的Python开发经验的文章 。 在研究各个项目之间的相互关系时,我回顾了Jupyter是如何从IPython分支出来的。 正如Jupyter项目的“ Big Split™”公告所解释的:
“如果有人对Jupyter是什么[1]感到困惑,那么它就是IPython中完全相同的代码,这些代码是由同一个人开发的,只是以新的名字出现在新家中。”
[1]链接到一个脚注,进一步澄清了:
“在宣布之后,我立即看到'Jupyter就像IPython,但语言不可知”,这很好地说明了为什么该项目不再需要使用Python的名称,因为当时它已经与语言无关。”
Jupyter Notebook和IPython从相同的源代码派生的事实对我来说很有意义,但是我迷失了IPython项目的当前状态。 在Big Split™之后不再需要它了吗?还是它以其他方式存在?
我惊讶地发现IPython的重要性继续为Pythonistas增加价值,并且它是Jupyter体验的重要组成部分。 这是Jupyter常见问题解答的一部分:
文档 ,节省大量时间和开发工作。是否预安装了任何语言?
是的,安装Jupyter Notebook也将安装IPython内核。 这允许使用Python编程语言在笔记本上工作。
问题仍然存在,仅使用IPython怎么办?
IPython今天的工作
IPython提供了功能强大的交互式Python Shell和Jupyter内核。 安装完之后,我可以从任何命令行单独运行ipython并将其用作(比默认值还漂亮)Python shell:
$ ipython
Python 3.7.3
( default, Mar
27
2019 , 09:
23 :
15
)
Type
'copyright' ,
'credits' or
'license'
for
more information
IPython 7.4.0
-- An enhanced Interactive Python. Type
'?'
for help.
In
[
1
] : import numpy
as np
In
[
2
] : example = np.array
(
[
5 ,
20 ,
3 ,
4 ,
0 ,
2 ,
12
]
)
In
[
3
] : average = np.average
( example
)
In
[
4
] : print
( average
)
6.571428571428571
这给我们带来了一个更重要的问题:IPython的功能使JupyterLab能够在每个项目中执行代码,并且它还为一整套被戏称为魔术的功能提供了支持(感谢Nicholas Reith,在本文中评论我的上一篇文章)。
借助IPython变得神奇
使用IPython内核的JupyterLab和其他前端可能会感觉像您最喜欢的IDE或终端仿真器环境。 我是多么巨大的风扇点文件给我使用的快捷方式的动力,而魔术有一定的dotfile类似的行为也是如此。 例如,签出%bookmark 。 我已经将默认的开发文件夹〜/ Develop映射到可以随时运行并直接跳入其中的快捷方式。
与%bookmark和%cd一起使用! 运算符(我在上一篇文章中介绍过)由IPython支持。 如文档所述:
对于Jupyter用户:魔术特定于IPython内核并由IPython内核提供。 魔术是否在内核上可用是由内核开发人员根据每个内核确定的。
结语
作为一个好奇的新手,我不确定IPython是否仍然与Jupyter生态系统相关。 现在,我对IPython的持续开发有了新的认识,因为我意识到它是JupyterLab强大的用户体验的源泉。 它也是一群才华横溢的研究者,他们是前沿研究的一部分,因此,如果您在学术论文中使用Jupyter项目,请务必将其选址。 他们可以通过此现成的引文条目轻松进行操作。
在考虑要贡献的开源项目时,请务必牢记这一点,并查看最新的发行说明以获取完整的神奇功能列表。
翻译自: https://opensource.com/article/19/6/ipython-still-heart-jupyterlab