IPython 4.0日前正式釋出,這是IPython分離成IPython和Jupyter後的第一個重要版本。
更新Jupyter的快捷方式是:
Java程式碼
1 |
pip install --upgrade jupyter |
在conda和canopy這些平臺,暫時還沒有更新。如果使用:
Java程式碼
1 |
pip install --upgrade ipython[all] |
得到的會是Jupyter。
什麼是IPython
IPython是個比預設的Python Shell好用得多的Python互動命令列介面,支援變數自動補全、自動縮排、Bash Shell命令,還內建了許多很有用的功能和函式。
大分裂之後的變化
IPython 3是整合IPython所有功能釋出的最後一個版本。在新的版中,語言無關的程式碼,例如notebook,將會移動到Jupyter下發布。鑑於這項更新,每一個模組都會有獨立的包——nbformat包來控制notebook的格式,nbconvert包來自動轉換成notebook格式,notebook包是HTML形式的notebook應用等。
這些功能模組都可以獨立安裝,比如:
Java程式碼
1 |
pip install --upgrade notebook |
這種方式不會安裝notebook不需要的依賴包(如qtconsole)。也可通過Jupyter的後設資料包來安裝,這會像曾經的IPython 3(為了不和現在IPython的概念衝突,現在叫做ipyparallel)那樣安裝所有的東西。
雖然這些包曾經都屬於IPython 3,在4.0版本中又站在了同一起跑線上。但是它們的更新進度不會相互制約,它們可以按照自己的進度來更新API的釋出時間。
IPython提供向後相容的import。如果有程式碼中使用了import IPython.nbformat,可以在之後的版本中正常工作,但是會得到一個warning:
Java程式碼
1 2 |
In [1]: from IPython.nbformat import read /.../site-packages/IPython/nbformat.py:13: ShimWarning: The `IPython.nbformat` package has been deprecated. You should import from nbformat instead. |
如果你碰到從舊的包中import的程式碼可在3.X工作,卻不能在4.X中工作的情況,請到這裡反饋。
這次大分裂有一個大家已經期待已久的功能: pip install ipython 命令的安裝會小得多,因為它只會安裝一個終端IPython介面。
配置
很多IPython子命令現在變成了Jupyter自命令,如ipython notebook現在是jupyter noteboook。
這些jupyter命令的配置檔案現在移動到了~/.jupyter,而不在~/.ipython/profile_default中。如果安裝notebook或qtconsole,Jupyter會自動將它們的配置檔案移動到新的位置。
可以從Jupyter的配置文件檢視更多資訊。
文件
Jupyter文件中有關於Jupyter及其模組,安裝等資訊。
Issues
如果安裝過程中遇到了麻煩,可以在這個郵件列表中提交反饋。或者在Github的倉庫中提一個issue。開發者會根據反饋做一系列更新。
反饋
1.有人問道,在4.0的版本的更新的變化多嗎?還是隻有名字變了?
Jupyter和IPython分裂成兩個專案是這次更新最大的變化,現在安裝IPython只會安裝IPython終端介面了,其他方面變化不大。
2.一個IPython使用者問道:從使用者的方面講,這個版本有什麼新特性嗎?有什麼更新的理由嗎?
從這個版本開始IPython不再是個針對Python的工具了。如果你不用Python,也可以使用Jupyter來做Haskell、R或Julia的工作。這個專案會被更加廣泛的使用,並不斷加入新特性。
3.IPython3.0中就可以跑Julia和Haskell了,4.0的版在kernel中使用這些語言更方便嗎?
是的,4.0版使用和安裝會更友好。另外,這次版本已經能相容R語言了