新技术论坛
搜索
查看: 1054|回复: 0
打印 上一主题 下一主题

[Python] IPython5.0-LTS发布了,有啥特性?

[复制链接]
  • TA的每日心情
    开心
    2016-12-9 18:18
  • 签到天数: 85 天

    连续签到: 1 天

    [LV.6]常住居民II

    扫一扫,手机访问本帖
    楼主
    跳转到指定楼层
    发表于 2016-7-12 07:06:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    IPython 5.0 LTS(Long Term support)现在发布了。IPython是Jupyter和Python交互式终端的核心;它为Python的终端交互式计算、Jupyter Notebook和其他支持Jupyter架构的客户端程序提供了丰富的特性。

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

    照例,你可以通过下面的命令获得最新版本:
    Java代码
    1. 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用户,现在也可以进行更新了。
    Java代码
    1. 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 from,asyncio,async def,await和其他对语言的优化。

    所以我们决定,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的话。

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    手机版|Archiver|开发者俱乐部 ( ICP/ISP证:辽B-2-4-20110106号 IDC证:辽B-1-2-20070003号 )

    GMT+8, 2024-12-23 00:34 , Processed in 0.132037 second(s), 21 queries .

    X+ Open Developer Network (xodn.com)

    © 2009-2017 沈阳讯网网络科技有限公司

    快速回复 返回顶部 返回列表