IPython 5.0-LTS 釋出了!

2016-07-14    分類:WEB開發、程式設計開發、首頁精華0人評論發表於2016-07-14

本文由碼農網 – 唐順原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

我們很高興地宣佈IPython5.0 LTS(長期支援版)正是發行了。IPython是Python Jupter架構下的核心,是一個互動式命令列介面。它為Python互動式計算終端、Jupyter筆記本以及所有支援Jupyter架構的其他終端提供了一組豐富的功能。

這次釋出帶來了新的功能以及許多新的改善。更重要的是,相比經典的IPython命令列介面有了更大的改善。

像平常一樣,你可以通過以下方式來獲取新版本:

pip install ipython –upgrade

在接下來的幾天後,這個更新包也可以來源於conda和其他更新包管理商。

注意: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現在支援:

  • 語法高亮顯示
  • 真正的多行編輯(上下箭頭可以在行與行之間移動)
  • 不打破縮排多行貼上或者立即執行程式碼
  • 更好的程式碼完成介面(我們計劃改進更多)
  • 可選的滑鼠支援

我們在工作中使用了幾個星期的時間裡雖然沒有使用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專案加油衝刺。我們希望在那看到你。

譯文連結:http://www.codeceo.com/article/ipython-5-0-lts-release.html
英文原文:Release of IPython 5.0
翻譯作者:碼農網 – 唐順
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章