返回 登录
0

IPython5.0-LTS发布了,特性全解

阅读7131

IPython 5.0 LTS(Long Term support)现在发布了。IPython是Jupyter和Python交互式终端的核心;它为Python的终端交互式计算、Jupyter Notebook和其他支持Jupyter架构的客户端程序提供了丰富的特性。

这个版本有很多令人激动的新特性(227次commit,27位贡献者,超过191次PR)。最重要的是,大多数的优化都对经典IPython命令行有重要意义。

照例,你可以通过下面的命令获得最新版本:

pip install ipython --upgrade  

接下来的几天,新版本也会在conda等其他包管理工具中更新。

注意:IPython现在是在一个大项目Jupyter下开发的,但是和Jupyter的其他项目一样,它有独立的开发计划,新版本并不涉及Notebook,Qt Console,nbconvert或其他作为IPython一部分的包。

全新的终端界面

将IPython从Jupyter Notebook包中分离出来,使核心团队可以专注优化交互式命令行。依赖Windows的pyreadline和Mac的gnureadline有很多缺点,Thomas Kluyver用Python重写一个readline:prompt_toolkit

prompt_toolkit包是Jonathan Slenders的一个很棒的库,最近发布了1.0版本。除了readline之外,prompt_toolkit还为终端的文本输入提供了很多特性,极大提高了用户体验。因为它是一个跨平台的库,所以Linux/Unix用户、MacOS用户和Windows用户都能享受到这些优化。感谢prompt_toolkit,IPython现在支持:

  • 语法高亮提示
  • 真正的多行编辑(使用向上键和向下键在多行之间跳转)
  • 多行粘贴,并且不会打乱缩进和立即执行
  • 更好的代码结束接口
  • 可选的鼠标支持

我们还并未使用prompt_toolkit所有的特性,但是几周的工作之后,再使用旧版本就感觉很不舒服了。希望大家喜欢新版本。Jonathan Slenders对我们的问题和需求很有耐心,对此我们感激不尽。

在“IPython 5.0的更新”中,可以查看详细的更新信息。

Jupyter Console

Jupyter Console提供了像IPython在终端那样的客户端交互式体验,不仅仅能连接IPython,它还可以连接Jupyter内核。这样,就可以不必启动Notebook就可以对安装的Jupyter内核进行测试。Jupyter Console的多数功能也是通过prompt_toolkit实现的。

几天前我们发布了Jupyter Console 5.0。如果你是Jupyter Console用户,现在也可以进行更新了。

pip install jupyter_console --upgrade

Long Term Support (LTS)

你可能从这篇博客中听说了这个消息:IPython 5.0将会是提供长期支持的第一个版本。

对于IPython,我们之前一直是每次只发布一个主要版本;在新的主要版本发布之后,就放弃对上一主要版本的支持。在5.x系列,我们将打破这个规则:直到2017年,核心团队将会尽最大努力提供对重大bug的修复。之后,我们虽然会停止支持,但是依然会审核社区的PR。并且在必要的时候发布新的版本。

希望这对需要长期支持的团队有所帮助。

停止对Python2的支持

自从Thomas Kluyver在2011年通过使用2to3做了对Python3的支持之后,我们便使用了一个代码库,同时支持Python2 和Python3.随着IPython的开发,我们逐渐切换到使用Python3开发,直到某一天,在一次测试中,我们发现我们打破了对Python2的兼容性。我们还使用了很多Python3的特性,比如类型注释,yield fromasyncioasync defawait和其他对语言的优化。

所以我们决定,IPython 5.x将是支持Python2的最后一个版本。

这也是我们决定长期支持IPython 5.x的原因之一。我们意识到,很多用户依然在使用Python 2,并且在接下来的几年,他们可能会继续使用IPython,所以我们希望能够让用户一点点过渡。2017年之后,我们将会继续通过社区的贡献来提供对5.x的bug修复支持。但是对于兼容Python 2的IPython,不会再添加新的特性。

所以,下一个主要版本Ipython 6.x将仅支持Python 3.如果你是Python 2用户,也不必担心,我们会确保你不会误安装IPython 6.x。你可以选择继续使用IPython 5.x LTS,或者迁移到Python 3,并使用最新版本的IPython3。虽然我们强烈推荐一直更新最新的版本,如果可能迁移到Python 3的话。

原文:Release of IPython 5.0
作者: IPython官网 翻译:赖信涛 责编:钱曙光


2016年8月12日-13日,由CSDN重磅打造的互联网应用架构实战峰会、运维技术与实战峰会将在成都举行,目前18位讲师和议题已全部确认。两场峰会大牛讲师来自阿里、腾讯、百度、京东、小米、乐视、聚美优品、YY、华为、360等知名互联网公司,共同探讨高可用/高并发/高性能系统架构设计、电商架构、分布式架构、运维工具研发与实践、运维自动化系统的构建、大数据与运维、云上的运维案例分析、虚拟化技术、应用性能检测与管理、游戏行业的运维实践等,将和与会嘉宾共同探讨「构建更安全、更高性能、更稳定的架构和运维体系」等领域的话题与技术。【目前限时6折,点击这里抢票

7月15日24点前仍处于最低六折优惠票价阶段,单场峰会(含餐)门票只需499元,5人以上团购或者购买两场峰会通票更有特惠,限时折扣,预购从速。(票务详情链接)。

评论