IPython 4.0发布:Jupyter和IPython分离后的首个版本,ipythonjupyter, 更新Jupyter的快


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

更新Jupyter的快捷方式是:
Java代码

Java
pip install --upgrade jupyter

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

Java
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应用等。

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

Java
pip install --upgrade notebook

 

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

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

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

Java
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中使用这些语言更方便吗?

是的,4.0版使用和安装会更友好。另外,这次版本已经能兼容R语言了

评论关闭