Jupyter Notebook各種使用方法記錄
Jupyter notebook )前身為IPython Notebook,學習時,可以找兩者的教程
一、 Jupyter NoteBook的安裝
1.1 新版本Anaconda自帶Jupyter
- 目前,最新版本的Anaconda是自帶Jupyter NoteBook的,不需要再單獨安裝
1.2 老版本Anacodna需自己安裝Jupyter
安裝Jupyter Notebook的先決條件:已經安裝了python(python 2.7 或者是python3.3)
具體的安裝方法:
- 官方建議利用Anaconda安裝Jupyter
- 安裝完成Anaconda後,如果該Anaconda並不自帶Jupyter Noterbook,那麼,開啟cmd,輸入:
conda install jupyter
這樣安裝完的jupyter不具有New a terminal的功能 經過各種查詢才知道,原來是因為windows不具有terminal需要的TTY,所以,windows下的jupyter是不支援Terminal模式的,而且短期內也沒有增加這種支援的計劃
二、 更改Jupyter notebook的工作空間
2.1 方式一
“”不是每次都好用“”
在其配置檔案ipython_notebook_config.py中,有如下一句
# The directory to use for notebooks and kernels.
# c.NotebookApp.notebook_dir = u''
- 1
- 2
- 3
該句就是用來指定其工作空間的,例如,預設的工作空間是:使用者名稱資料夾,例如,現在想要將工作空間變為D:\Jupyter,那麼,需要做如下更改(要記得刪掉註釋#)
# The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = u'D:\Jupyter'
- 1
- 2
- 3
注意:路徑最後一級後面不要加符號“\”
如何找到該配置檔案?
- 在cmd中輸入
jupyter notebook --generate-config
- 如果該配置檔案已經存在,那麼,會出現如下資訊,從中可以見到配置檔案存在的位置,注意,此時,輸入N,不要overwrite
- 如果該配置檔案不存在,那麼,將會初始化產生一個配置檔案
在cmd中輸入:ipython profile create
可以找到關於jupyter的配置檔案的位置
2.2 方式二絕招(絕招)
- 進入工作目錄資料夾
鍵盤Shift+滑鼠右鍵->在此處開啟命令視窗-> 在彈出的命令視窗中輸入:Jupyter Notebook
Jupyter被開啟,定位到當前目錄!
三、Jupyter的各種快捷鍵
執行當前cell,並自動跳到下一個cell:
Shift Enter
執行當前cell,執行後不自動調轉到下一個cell:
Ctrl-Enter
是當前的cell進入編輯模式:
Enter
退出當前cell的編輯模式:
Esc
刪除當前的cell:雙D
為當前的cell加入line number:單L
將當前的cell轉化為具有一級標題的maskdown:單1
將當前的cell轉化為具有二級標題的maskdown:單2
將當前的cell轉化為具有三級標題的maskdown:單3
為一行或者多行新增/取消註釋:
Crtl /
撤銷對某個cell的刪除:
z
瀏覽器的各個Tab之間切換:
Crtl PgUp
和Crtl PgDn
快速跳轉到首個cell:
Crtl Home
快速跳轉到最後一個cell:
Crtl End
四、Jupyter Notebook如何匯入程式碼
即匯入程式碼到jupyter notebook的cell中
4.1 將本地的.py檔案load到jupyter的一個cell中
問題背景:有一個test.py檔案,需要將其載入到jupyter的一個cell中 test.py內容如下:
import caffe
SolverName = "/root/workspace"
sovler = caffe.AdamSolver(SolverName)
- 1
- 2
- 3
方法步驟: (1)在需要匯入該段程式碼的cell中輸入
%load test.py #test.py是當前路徑下的一個python檔案
- 1
(2)執行該cell 利用快捷鍵“Shift+Enter”,可以看到如下結果:
(3)可以看到,執行後,%load test.py
被自動加入了註釋符號#,test.py中的所有程式碼都被load到了當前的cell中
4.2 從網路load程式碼到jupyter
在cell中輸入
%load http://.....
,然後執行該cell,就會將load後面所對應地址的程式碼load到當前的cell中;
首先,在想要匯入該段程式碼的cell中輸入
%load test.py #test.py是當前路徑下的一個python檔案
- 1
然後,Shift+Enter執行,可以看到如下結果:
可以看到,執行後,%load test.py
被自動加入了註釋符號#,test.py中的所有程式碼都被load到了當前的cell中
五、Jupyter執行python檔案
- 利用jupyter的cell是可以執行python檔案的,即在cell中執行如下程式碼:
%run file.py
- 1
file.py為要執行的python程式,結果會顯示在該cell中
六、Jupyter一些其他瑣碎用法
6.1 jupyter的cell可以作為unix command使用
具體方法為:在unitx command前面加入一個感嘆號“!”
例子: 檢視python版本:
!python --version
執行python檔案:!python myfile.py
6.2 Magic functions
6.3 獲取current working directory
即當前執行的程式碼所在的路徑
具體方法:current_path = %pwd
這樣得到的current_path就是當前工作路徑的字元轉
6.4 使用Matplotlib繪圖
在Jupyter Notebook中,如果使用Matplotlib繪圖,有時是彈不出影象框的,此時,可以在開頭加入
%matplotlib inline
- 1
七、Jupyter中的Markdown
7.1 在jupyter中設定link,需要設定兩部分:
要跳到的位置(the destination) 需要在要跳轉到的位置新增下面語句:
<a id='the_destination'></a>
- 1
這裡的id取值任意賦值,下面在新增連結時要用
需要新增連結的文字(an internal hyperlink to the destination),即點選該處可以跳轉到the destination,在需要新增連結的文字後面加入:
[需要新增連線的文字](#the_destination)
- 1
下面是一個例子: 原始碼: 效果圖:
7.2 為Jupyter Notebook新增目錄功能
- 原始的Jupyter是不支援markdown新增目錄功能的
- 具體方法:
- 利用Anaconda安裝Jupyter Notebook extensions
conda install -c conda-forge jupyter_contrib_nbextensions
- 開啟Jupyter Notebook,在它的(新增的)Nbextensions標籤下勾選“Table of Contents(2)”
- 開啟一個.jpynb檔案,發現,目錄功能可用了!
- 利用Anaconda安裝Jupyter Notebook extensions
<script>
(function(){
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore = $("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})()
</script>
</article>