1. 介紹
前一段跑別人的python代碼,擴展名是ipynb,不能直接用python命令執行,于是只好安裝了Jupyter notebook軟件,然后發現它是一個非常好用的程序寫作工具。
?對我來說,它最大的好處就是文檔和程序可以寫在一起了。在寫程序的時候往往會有一些思路,解釋,分析,運行結果等等,需要記下來,比較長的就不太適合在程序里面注釋,記在其它地方又容易忘掉。Notebook完美地解決了這個問題。當然它還有很多其它優點,下面簡單介紹一下。
2. Jupyter Notebook
IPYNB是ipython notebook的縮寫,它開始只支持python,后來又支持了其它40多種編輯語言,就改名叫Jupyter notebook。
?Notebook存儲python程序的文件是ipynb,ipynb一種文本文件,可以用vi直接打開,文件中除了程序和說明還有一些結構信息,不能直接用python執行,但在notebook界面中可以被導出成.py程序,還可以導出成html, pdf等格式,像Kaggle上面的程序及說明都是這種格式的,Github也支持該格式的完美顯示,即:在Github中打開.pynb文件看到的就是分塊的代碼。
?Notebook是用網頁訪問的,你可以在網頁中編寫和執行程序。并且可以在其它機器上遠程調用它,這種環境也屏蔽了不同系統的顯示差異。在分享示例代碼的時候,也非常方便,完全不用再去考慮格式的問題。
3. 安裝
$ sudo pip3 install ipython
$ sudo pip3 install jupyter #用pip命令自動安裝相關的依賴包
4. 運行
$ ipython3 notebook
此時瀏覽器被打開,本機開啟了8888端口,瀏覽器通過訪問該端口,列出了當前目錄下的ipynb文件。
此時可以在瀏覽器中編輯和運行已存在的程序,如果還沒有ipynb文件,可點擊右上的new新建程序。在編寫和調試程序的過程中,錯誤提示和運行結果也都顯示在瀏覽器中。
5. 單元
Notebook中的基本元素是“Cell”即單元。主要有兩種形式的單元: 代碼單元:代碼單元左邊有 In [ ]: 這樣的序列標記,方便查看代碼的執行次序。其結果顯示在本單元下方。
?Markdown 單元:在這里可以編輯文本,采用 markdown 的語法規范,可以設置文本格式、插入鏈接、圖片甚至數學公式。 單元通過Insert菜單添加,在Cell菜單中可以選擇運行全部代碼或者某個代碼單元,這有點像單步調試,也方便也省時。習慣了這種方式之后,代碼分塊也是對代碼的功能劃分。有時也可以把完全不同的幾種思路寫在一份代碼里,只要運行不同單元即可,在調試過程中非常方便。
?與VI類似,Notebook也有編輯模式和命令模式,命令模式時單元左側顯示藍線,編輯模式時左側顯示綠線。通過Esc鍵可切換到命令模式。在命令模式可以使用一些快捷鍵,比如用Shift+L控制是否顯示行號。
6. 導出各種格式文件
Notebook支持導出Python, Html,PDF等格式文件,具體方法是:
notebook菜單->File->Download as->xx
7. 參考
(1) 左手程序員,右手作家:你必須會的Jupyter Notebook
http://python.jobbole.com/87527/