IPython 4.0发布:Jupyter和IPython分离后的首个版本

更新时间:2015-08-20 09:38:46 点击次数:2692次

IPython 4.0日前正式发布,这是IPython分离成IPython和Jupyter后的个重要版本。

更新Jupyter的快捷方式是:

pip install --upgrade jupyter

在conda和canopy这些平台,暂时还没有更新。如果使用:

pip install --upgrade ipython[all]

得到的会是Jupyter。

什么是 IPython

IPython是个比默认的Python Shell好用得多的Python交互命令行界面,支持变量自动补全、自动缩进、Bash Shell命令,还内置了许多很有用的功能和函数。

大分裂之后的变化

IPython 3是整合IPython所有功能发布的后一个版本。在新的版中,语言无关的代码,例如notebook,将会移动到Jupyter下发布。鉴于这项更新,每一个模块都会有独立的包——nbformat包来控制notebook的格式,nbconvert包来自动转换成notebook格式,notebook包是HTML形式的notebook应用等。

这些功能模块都可以独立安装,比如:

pip install --upgrade notebook  

这种方式不会安装notebook不需要的依赖包(如qtconsole)。也可通过Jupyter的元数据包来安装,这会像曾经的IPython 3(为了不和现在IPython的概念冲突,现在叫做ipyparallel)那样安装所有的东西。

虽然这些包曾经都属于IPython 3,在4.0版本中又站在了同一起跑线上。但是它们的更新进度不会相互制约,它们可以按照自己的进度来更新API的发布时间。

IPython提供向后兼容的import。如果有代码中使用了import IPython.nbformat,可以在之后的版本中正常工作,但是会得到一个warning:

In [1]: from IPython.nbformat import read  
/.../site-packages/IPython/nbformat.py:13: ShimWarning: The `IPython.nbformat` package has been deprecated. You should import from nbformat instead.

如果你碰到从旧的包中import的代码可在3.X工作,却不能在4.X中工作的情况,请到这里反馈。

这次大分裂有一个大家已经期待已久的功能: pip install ipython 命令的安装会小得多,因为它只会安装一个终端IPython接口。

配置

很多IPython子命令现在变成了Jupyter自命令,如ipython notebook现在是jupyter noteboook

这些jupyter命令的配置文件现在移动到了~/.jupyter,而不在~/.ipython/profile_default中。如果安装notebook或qtconsole,Jupyter会自动将它们的配置文件移动到新的位置。

可以从Jupyter的配置文档查看更多信息。

文档

Jupyter文档中有关于Jupyter及其模块,安装等信息。

Issues

如果安装过程中遇到了麻烦,可以在这个邮件列表中提交反馈。或者在Github的仓库中提一个issue。开发者会根据反馈做一系列更新。

反馈

1.有人问道,在4.0的版本的更新的变化多吗?还是只有名字变了?

Jupyter和IPython分裂成两个项目是这次更新大的变化,现在安装IPython只会安装IPython终端接口了,其他方面变化不大。

2.一个IPython用户问道:从用户的方面讲,这个版本有什么新特性吗?有什么更新的理由吗?

从这个版本开始IPython不再是个针对Python的工具了。如果你不用Python,也可以使用Jupyter来做Haskell、R或Julia的工作。这个项目会被更加广泛的使用,并不断加入新特性。

3.IPython3.0中就可以跑Julia和Haskell了,4.0的版在kernel中使用这些语言更方便吗?


本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!