澳门新葡亰娱乐官网IPython5.0

澳门新葡亰娱乐官网 2

本文由码农网 –
唐顺原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!

澳门新葡亰娱乐官网 1

我们很高兴地宣布IPython5.0 LTS(长期支持版)正是发行了。IPython是Python
Jupter架构下的核心,是一个交互式命令行界面。它为Python交互式计算终端、Jupyter笔记本以及所有支持Jupyter架构的其他终端提供了一组丰富的功能。

IPython 5.0
LTS现在发布了。IPython是Jupyter和Python交互式终端的核心;它为Python的终端交互式计算、Jupyter
Notebook和其他支持Jupyter架构的客户端程序提供了丰富的特性。这个版本有很多令人激动的新特性。最重要的是,大多数的优化都对经典IPython命令行有重要意义。照例,你可以通过下面的命令获得最新版本:

这次发布带来了新的功能以及许多新的改善。更重要的是,相比经典的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 ConsoleJupyter
Console提供了像IPython在终端那样的客户端交互式体验,不仅仅能连接IPython,它还可以连接Jupyter内核。这样,就可以不必启动Notebook就可以对安装的Jupyter内核进行测试。Jupyter
Console的多数功能也是通过prompt_toolkit实现的。几天前我们发布了Jupyter
Console 5.0。如果你是Jupyter Console用户,现在也可以进行更新了。

pip install ipython –upgrade
pip install jupyter_console --upgrade

在接下来的几天后,这个更新包也可以来源于conda和其他更新包管理商。

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的话。引用原文:Release of IPython 5.0 作者: IPython官网 翻译:赖信涛
责编:钱曙光

注意:IPython现在像其他Jupyter的组件一样,正按照自己的计划在更广泛的Jupyter项目保护下发展。因此,这次的发布不会影响Jupyter笔记本,QT控制台, NbConvert,或其他之前也属于Python部分的包。

一个全新的终端接口

从Jupyter笔记本包里分离IPython已经使得核心团队能够集中精力去独立提升笔记本包里的命令行接口。Windows上的pyreadline和Mac上gnureadline的尴尬处境促使托马斯•卢维去使用全新纯净pythonreadline作为替代来更新旧的组件:prompt
toolkit

prompt_toolkit包是一个来自乔纳森•斯兰德的功能强大的包,最近刚刚达到1.0版本。超越readline,prompt_toolkit在终端编辑文本提供了许多高级功能,大大改善了用户体验。由于它是一个跨平台的库,所有Linux,Unix,macOS和Windows的用户都可以从这些提升中受益。多亏prompt_toolkit,IPython现在支持:

  • 语法高亮显示
  • 真正的多行编辑(上下箭头可以在行与行之间移动)
  • 不打破缩进多行粘贴或者立即执行代码
  • 更好的代码完成界面(我们计划改进更多)
  • 可选的鼠标支持

澳门新葡亰娱乐官网 2

我们在工作中使用了几个星期的时间里虽然没有使用prompt_toolkit的全部功能,但当我们回到旧的没有改善过的IPython版本时,会感觉陌生且奇怪。我们希望你会喜欢上它们。我们也非常感谢乔纳森•斯兰德,一直以来都非常负责地对待我们的疑惑和特性请求。

Jupyter控制台

Jupyter控制台提供了交互式终端IPython的经验,但有能力连接到任何Jupyter内核而不是只有IPython。这允许你测试任何Jupyter内核安装在终端,而不需要启动一个完整的笔记本。Jupyter控制台也获得了最上面描述的大多数功能,同时利用prompt_toolkit。

几天前我们也发布了Jupyter控制台5.0版本,此版本兼容IPython
5。如果你是一个Jupyter控制台用户,你将需要升级。

$ pip install jupyter_console --upgrade

长期支持(LTS)

你可能会选择从这篇博客的标题:IPython
5。x将会是第一个发行版系列获得长期支持(因此命名LTS)。

IPython,我们通常只支持一次主要发布一个版本,一旦新的主要版本出来,以前主要发布的版本将停止错误修复。为了发布5.x系列版本,我们将破例:到2017年底核心团队将尽力为5.x版本系列提供至关重要的bug的修复。除此之外,我们将不会优先开始这项工作,但我们将在2018年至2019年里继续接受来自社区的修复bug请求,并且必要时发布。

我们希望这将帮助那些需要长期支持IPython版本5.x的组织。

停止支持Python2

IPython兼容Python3多年,自从2011年托马斯•卢维移植代码库Python
3兼容使用版本2。在2013年,我们搬到一个单一来源的代码库Python2和3。IPython的日常发展现在完全使用Python
3,我们开始不小心打破Python 2兼容性测试或用户标记它。我们也希望使用Python
3的许多新特性,比如注释类型,yield form,asyncio,async
def,await和其他近年来获得改进的语言及其标准库。

我们因此决定IPython 5.X是最后一个支持Python 2的主要版本。

当然,这就是为什么我们打算支持IPython
5.x比平常更长的时间。我们认识到,许多人仍然使用Python
2,他们将能够继续的支持版本IPython好几年了,在合适的时间过渡给他们。超出了2017年底我们愿意为小错误修正版本5.x提供社区贡献补丁。最重要的是,没有新功能将被添加到一个支持IPython的Python
2在即将到来的5.0版本上。

因此,IPython的下一个主要版本,IPython 6.x将需要Python
3。它将开始使用新的语法,并且适当摆脱已经存在的兼容层。

如果你是一个Python 2用户,放心,我们会确保升级并不出人意料地安装IPython
6.x,破坏您的系统。你可以决定在IPython 5.x
LTS上停留更长一段时间,并且决定跳过几个IPython版本,一旦你迁移到Python
3之后,虽然我们建议跟上最新的稳定版本发布,当然,可能的话就迁移到Python
3。

IPython是第一个放弃支持Python 2的IPython /
Jupyter项目,但是你可以指望其他IPython /
Jupyter组件跟进。自成立以来,例如,JupyterHub就一直只有Python 3。

需要注意的是,用户总是可以通过Jupyter笔记本使用Python
2内核,即使当我们所有的项目都转移到Python
3:作为我们的长期支持版承诺的一部分,我们将更新IPython内核里任何有必要的更新,以便它可以继续在LTS所支持的时间里在Jupyter笔记本上运行。

帮我们与Python 3过渡

我们明白,迁移到Python
3因为各种原因而很难实现,所以提前计划通常是必要的。因此我们正在帮助收集一个简单的列表项目决定放弃支持Python
2或2020年以前当支持Python
2.7自己结束支持。Matplotlib等项目和SymPy计划将在未来几年内放弃支持,尽管一些项目,比如Scikit-Bio已经领先我们,但是不久很快应该只有Python
3。

因此我们决定签Python3声明中列出的采取这一步骤的项目,以及如果可能的话,提供一个计划发布时间表,让用户知道哪个版本仍然兼容Python
2,还有哪个版本将只支持Python 2。

如果你想将你的项目添加到这个页面,或者你知道一个项目正考虑过渡到Python
3,请再此取得联系。我们相信,尽早给Python用户足够的信息将有助于缓解过渡。

在SciPy上等你哦!

我们中的一些人将会在奥斯汀参加今年的SciPy。我们很高兴与你见面,希望一起为IPython和Jupyter项目加油冲刺。我们希望在那看到你。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图