Jupyter發布IPython 7.0已經是3年前的事,官方現在終於推出8.0版本,這個版本改進現有的程式碼庫中數個功能,包括可在CLI中使用Black重新格式化程式碼、Ghost建議,以及能夠突出顯示錯誤節點的追蹤(Traceback),該功能使得複雜的表示式更容易除錯。

IPython是一個強大的互動式直譯器,在純Python腳本上,提供Tab鍵完成、更好的追蹤以及多行編輯等功能。

除了更新功能,官方提到,其實這個版本大部分的改變,都在於刪除該拋棄的程式碼。IPython是在20幾年前,由Fernando Pérez在大學延畢時開發的,20幾年來,IPython中留有許多老舊不適用的程式碼,而官方認為在增加主要版本號的現在,正是刪除這些程式碼的時機。

IPython 8.0刪除了大量以棄用,或是未被使用的程式碼,並放棄老舊且未受持續維護的相依項目,像是IPython已經移除Nose改使用pytest。官方擴大IPython的程式碼覆蓋率,透過增加軟體測試的比例,來提升IPython的穩定性和安全性。

另外,IPython 8.0還刪除了大部分在IPython 1.0和5.0之間,已經被標記為棄用的函式和參數,並且根據NEP 29,將Python版本最低需求提高到3.8,官方提到,這項改進使得IPython能夠同步使用Python的原生功能,而不需要不停地進行額外修改。

整體來說,在新版本中,即便進行許多更新,程式碼庫也從原本的348個檔案37,500行程式碼,下降到了294個檔案36,100行程式碼,官方希望IPython瘦身後,能夠加速CLI啟動,使IPython更易於使用。

IPython的建置程序也有更新,現在使用pyproject.toml來宣告建置,但目前仍然會需要setuptools模組和setup.py檔案,但官方正努力簡化這個過程,以及刪除不需要的配置。用戶現在可以使用python -m build指令來建置IPython Wheels和sdist。

官方依據NEP 29,會繼續在每個月最後一個星期五,發布小版本更新。儘管IPython 8.0已經發布,但是官方仍然會提供7.x版本重要錯誤的更新,只是現在同時還會看到8.x穩定版本更新。

熱門新聞

Advertisement