前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对Python开发者而言,IPython仍然是Jupyter Notebook的核心

对Python开发者而言,IPython仍然是Jupyter Notebook的核心

作者头像
IT阅读排行榜
发布2019-07-17 15:06:34
7640
发布2019-07-17 15:06:34
举报
文章被收录于专栏:华章科技华章科技

导读:Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。

作者:Matthew Broberg

译者:chen-ni

来源:Linux中国(ID:linux-cn)

最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种魔法般的 Python 开发体验。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这段历史。正如 Jupyter 项目的大拆分™ 声明所说:

如果你不明白 Jupyter 是什么,这么说吧,它拥有和 IPython 同样的代码,并且是由同一批人开发的,只不过取了一个新名字、安了一个新家。

下面这个注脚进一步说明了这一点:

我从声明中解读出来的信息是,“Jupyter 和 IPython 非常相似,但是拥有多种语言”,这也可以很好地解释为什么这个项目的名字已经不再需要包含 Python,因为当时它已经支持多种语言了。

我明白 Jupyter Notebook 和 IPython 都是从同样的源代码里分支出来的,但是不太清楚 IPython 项目的现状。在大拆分™ 之后它是已经不再被需要了,还是在以另一种方式延续着?

后来我惊讶地发现,IPython 仍然不断在为 Python 使用者提供价值,它正是 Jupyter 体验的核心部分。下面是 Jupyter 常见问题页面的一段截取:

有什么语言是需要预装的吗? 是的,安装 Jupyter Notebook 会首先安装 IPython 内核。这样我们就可以在 notebook 上运行 Python 语言了。

现在我明白了,在 JupyterLab(以及 Jupyter Notebook)上编写 Python 程序仍然需要依赖 IPython 内核的持续开发。不仅如此,IPython 还充当了最为强大的默认内核的角色,它是其它语言内核之间的枢纽,节省了很多开发时间和精力。

现在唯一的问题是,IPython 本身可以做什么呢?

01 IPython 如今的作用

IPython 提供了一个强大的、交互性的 Python shell,以及 Jupyter 的内核。安装完成之后,我可以在任何命令行运行ipython 本身,将它当作一个(比默认 Python shell 好太多的)Python shell 来使用:

代码语言:javascript
复制
$ ipython
Python 3.7.3 (default, Mar  , ::)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.
In []: import numpy as np
In []: example = np.array([, , , , , , ])
In []: average = np.average(example)
In []: print(average)
6.571428571428571

这就让我们发现了一个更为重要的问题:是 IPython 让 JupyterLab 可以在项目中执行代码,并且支持了一系列被称为 Magic 的功能。

02 IPython 让魔法成为现实

JupyterLab 和其它使用 IPython 的前端工具可以让你感觉像是在最喜欢的 IDE 或者是终端模拟器的环境下工作。我非常喜欢点文件快捷键功能,Magic 也有类似点文件的特征。比如说,可以试一下 %bookmark 这个命令。我把默认开发文件夹 ~/Develop 关联到了一个可以在任何时候直接跳转的快捷方式上。

▲Screenshot of commands from JupyterLab

%bookmark%cd,以及我在前一篇文章里介绍过的 ! 操作符,都是由 IPython 支持的。正如一篇文档所说:

Jupyter 用户你们好:Magic 功能是 IPython 内核提供的专属功能。一个内核是否支持 Magic 功能是由该内核的开发者针对该内核所决定的。

03 写在最后

作为一个好奇的新手,我之前并不是特别确定 IPython 是否仍然和 Jupyter 生态还有任何联系。现在我对 IPython 的持续开发有了新的认识和,并且意识到它正是 JupyterLab 强大的用户体验的来源。这也是相当有才华的一批贡献者进行最前沿研究的成果,所以如果你在学术论文中使用到了 Jupyter 项目的话别忘了引用他们。为了方便引用,他们还提供了一个现成的引文。

如果你在考虑参与哪个开源项目的贡献的话,一定不要忘了 IPython 哦。记得看看最新发布说明,在这里可以找到 Magic 功能的完整列表。

原文:

https://opensource.com/article/19/6/ipython-still-heart-jupyterlab

有话要说?

Q: Jupyter好用吗?

欢迎留言与大家分享

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档