什么是Jupyter Notebook?
簡介
Jupyter Notebook是基於網頁的用於交互計算的應用程序。其可被應用於全過程計算:開發、文檔編寫、運行代碼和展示結果。
簡而言之,Jupyter Notebook是以網頁的形式打開,可以在網頁頁面中直接編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示。如在編程過程中需要編寫說明文檔,可在同一個頁面中直接編寫,便於作及時的說明和解釋。
組成部分
1,網頁應用
網頁應用即基於網頁形式的、結合了編寫說明文檔、數學公式、交互計算和其他富媒體形式的工具。簡言之,網頁應用是可以實現各種功能的工具。
2,文檔
即Jupyter Notebook中所有交互計算、編寫說明文檔、數學公式、圖片以及其他富媒體形式的輸入和輸出,都是以文檔的形式體現的。
Jupyter Notebook的主要特點
-
編程時具有語法高亮、縮進、tab補全的功能。
-
可直接通過瀏覽器運行代碼,同時在代碼塊下方展示運行結果。
-
對代碼編寫說明文檔或語句時,支持Markdown語法。
如何安裝Jupyter Notebook?
Jupyter Notebook原來也叫iPython Notebook,顧名思義,它和Python關系緊密。如果要在PC上安裝筆記本,首先你要確保自己已經安裝了Python(2.7/3.3或更高),這是必備條件。
1,Anaconda
官方在文檔中強烈建議新用戶用Anaconda打包安裝Python和Anaconda——所謂懶人方法,小白必備。其實除了提到的兩個工具,Anaconda還包含數據科學和機器學習中經常需要用到的各種軟件包,只需下載、解壓、安裝,所有工具就都一步到位了。
下載地址:https://jupyter.readthedocs.io/en/latest/install.html
安裝好后檢查有沒有加下面的環境變量:
2,pip
如果你很欣賞自己,或者因為某些因素就是不想用Anaconda,你也可以用pip。當然首先,你得確保自己的機器上有pip的最新版本。
# Linux和OSX pip install -U pip setuptools # Windows python -m pip install -U pip setuptools 然后,安裝Jupyter Notebook: #Python2用戶看這里 pip install jupyter #Python3用戶不要跑 pip3 install jupyter
運行Jupyter Notebook
幫助
如果你有任何jupyter notebook命令的疑問,可以考慮查看官方幫助文檔,命令如下:
jupyter notebook --help # 或 jupyter notebook -h
啟動
默認端口啟動
在終端中輸入以下命令:
jupyter notebook
執行命令之后,在終端中將會顯示一系列notebook的服務器信息,同時瀏覽器將會自動啟動Jupyter Notebook。
啟動過程中終端顯示內容如下:
$ jupyter notebook [I 21:58:24.417 NotebookApp] Serving notebooks from local directory: /Users/catherine [I 21:58:24.417 NotebookApp] 0 active kernels [I 21:58:24.417 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I 21:58:24.417 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
注意:之后在Jupyter Notebook的所有操作,都請保持終端不要關閉,因為一旦關閉終端,就會斷開與本地服務器的鏈接,你將無法在Jupyter Notebook中進行其他操作啦。
瀏覽器地址欄中默認地將會顯示:http://localhost:8888
。其中,“localhost”指的是本機,“8888”則是端口號。
如果你同時啟動了多個Jupyter Notebook,由於默認端口“8888”被占用,因此地址欄中的數字將從“8888”起,每多啟動一個Jupyter Notebook數字就加1,如“8889”、“8890”……
指定端口啟動
如果你想自定義端口號來啟動Jupyter Notebook,可以在終端中輸入以下命令:
jupyter notebook --port <port_number>
其中,“<port_number>”是自定義端口號,直接以數字的形式寫在命令當中,數字兩邊不加尖括號“<>”。如:jupyter notebook --port 9999
,即在端口號為“9999”的服務器啟動Jupyter Notebook。
啟動服務器但不打開瀏覽器
如果你只是想啟動Jupyter Notebook的服務器但不打算立刻進入到主頁面,那么就無需立刻啟動瀏覽器。在終端中輸入:
jupyter notebook --no-browser
此時,將會在終端顯示啟動的服務器信息,並在服務器啟動之后,顯示出打開瀏覽器頁面的鏈接。當你需要啟動瀏覽器頁面時,只需要復制鏈接,並粘貼在瀏覽器的地址欄中,輕按回車變轉到了你的Jupyter Notebook頁面。
例圖中由於在完成上面內容時我同時啟動了多個Jupyter Notebook,因此顯示我的“8888”端口號被占用,最終分配給我的是“8889”。
用法
如果你想新建一個筆記本,單擊面板右側的“New”,它會跳出4個選項:
Python 3
Text File
Folder
Terminal
選擇Text File后,你會得到一個空白的頁面。它相當於一個文本編輯器(類似於Ubuntu上的應用程序),你可以在上面輸入任何字母、單詞和數字,所以選擇好編程語言后,你是可以在上面寫腳本的。此外,它還提供查找和替換文件中的單詞的功能。
選擇Folder后,你其實是在編輯文件夾列表。你可以創建一個新文件夾,把所需文檔放進里面,或者修改它的名稱、直接把它刪除。
而Terminal的工作方式和Mac、Linux計算機上的Terminal一樣,都是在Web瀏覽器中創建終端支持。只需在終端輸入Python,一個Python腳本就寫好了。
導入最常見的Python庫來啟動筆記本,如pandas和numpy。在代碼上方的菜單中,那些圖標依次表示添加、編輯、剪切、向上移動cell、向下移動cell、運行代碼、停止運行和撤銷。
這個下拉的列表提供了四個選項:
Code:這個不言自明,就是你寫代碼的地方;
Markdown:非常常見的輕量級標記語言,用來為代碼添加注釋和結論;
Raw NBConvert:一個命令行工具,可以把你的筆記本轉換成另一種格式,如HTML;
Heading:添加標題,使你的文檔看起來更干凈整潔,它現在已經變成Markdown里的一個語法,用兩個#表示。
快捷鍵
- 向上插入一個cell:a
- 向下插入一個cell:b
- 刪除cell:x
- 將code切換成markdown:m
- 將markdown切換成code:y
- 運行cell:shift+enter
- 查看幫助文檔:shift+tab
- 自動提示:tab
魔法指令
作為iPython的繼承者,開發人員已經在Jupyter Notebook中加入預定義的魔術命令(magic function)。這是一種增加便捷性和互動性的工具,如果要查看命令列表,你可以輸入(注:通常不需要“%”):
%lsmagic
當看到那一串函數列表時,也許你能從中認出幾張老面孔,如%clear、%autosave、%debug和%mkdir。只要你以前寫過代碼,這些函數就幾乎是不可避免的。
在Jupyter Notebook中,魔術命令有兩種運行方式,一是Line-wise,而是Cell-wise。顧名思義,Line-wise就是當你想執行一個命令行的時候需要用到的,而Cell-wise面向的就不單單是一行了,它作用的是整個cell的代碼塊。
為了區分兩種運行方式,如果是Line-wise,所有命令必須以%字符打頭;如果是Cell-wise,則用%%。
Line-wise:
%time a = range(10)
Cell-wise:
%%timeit a = range (10)
min(a)
運行外部python源文件:%run xxx.py
計算statement的運行時間:%time statement
計算statement的平均運行時間:%timeit statement
測試多行代碼的平均運行時間:
%%timeit
statement1
statement2
statement3