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中使用这些语言更方便吗?
是的,4.0版使用和安装会更友好。另外,这次版本已经能兼容R语言了,参考链接:https://github.com/joyofdata/joyofdata-articles/tree/master/r-meets-ipython