jupyter notebook 进阶使用:nbextensions
nbextensions 是jupyter notebook 的一個擴展,可以有很多有用的功能
1 安裝&配置nbextensions
在我們配置nbextensions之前,jupyter notebook的界面是這樣的:
我們在命令行輸入以下命令,即可安裝并配置nbextensions
1.1?安裝nbextensions
pip install jupyter_contrib_nbextensions jupyter contrib nbextension install --user1.2?安裝nbextensions_configurator
pip install jupyter_nbextensions_configurator jupyter nbextensions_configurator enable --user安裝配置完成后,我們重新啟動jupyter notebook,界面變成了:
多出來的一欄就是我們新配置的nbextensions
2 nbextensions主要擴展
點開nbextensions?,里面是所有我們可以添加的擴展
?下面將列舉一些較為有用的擴展
2to3 Converter | 將一個框內的python2 代碼轉換成python3代碼,設置了之后,會出現一個這樣的圖標: ?如果一個框格內本來是python2的代碼 點擊了圖標之后,代碼會變成 ? |
AddBefore | 在原始的jupyter notebook中,我們只能向框格后面添加新的框格。設置了這個之后,我們可以在指定框格之前添加新的框格了 這一圖圖標分別表示了向前和向后添加框格 |
AutoSaveTime | 設置自動保存代碼的間隔,設置了之后,會出現這個圖標 |
Autopep8 | 首先用?pip install autopep8? 安裝包 然后設置了這一選項之后,就可以對單元格里面的代碼自動排版了 比如原來是這樣的一串代碼: 設置了這一選項后,也會出現一個圖標 ? *注意和2to3conveter的區分一下? 點擊圖標之后,會出現: |
Code Font Size | 設置代碼字體大小,設置了之后,會出現這樣的圖標: |
Codefolding | 設置了之后,可以折疊代碼 |
Collapsible Headings | 設置了之后,標題內的部分可以折疊 |
datestamper | 設置了之后,會出現這樣的一個圖標 點擊該圖標,會將當前時間復制到框格中 |
ExecuteTime | 設置之后,每執行一個框格的內容,都會顯示執行的時間 |
Exercise | 設置之后。將第一個框格設置為問題,之后的設置為答案,答案可以被隱藏 設置之后,會出現這個圖標 選中多個框格(長摁shift+點擊代碼段灰色的部分 ? 然后點擊該圖標 比如這兩個圖標,我們同時選中這兩個,然后點擊exercise圖標 效果為: 點開之后,有: |
Exercise2 | 和Exercise類似,不過比它美觀一點(個人觀感) 設置了之后,會出現這個圖標? ? 也是選定多個框格,然后點擊該圖標,效果為: |
highlighter | 對于框格內的markdown內容,可以改變背景顏色 設置了之后,會出現這樣的圖標 比如對于這樣的markdown 選中高亮之后,可以是:? ? |
Hinterland | 代碼補全 |
Limit Output | 限制每個框格輸出的字符個數 |
nbTranslate | 對markdown的部分進行翻譯 設置之后,會出現這兩個圖標 點擊右邊的設置可以設置源語言和目標語言 ? 我這里是英語翻譯成簡體漢語 設置完之后,點擊左邊的圖標,即可進行翻譯 原來的markdown? ?翻譯之后的markdown |
Notify | 當notebook內核空閑的時候,會在瀏覽器處發一個通知 |
Rubberband | 更方便地選中各個框格 shift+鼠標左鍵:選中目前框起來的框格 ctrl+shif+鼠標左鍵:選中所有框起來過的框格 |
Runtools | 更多地執行python程序的方法(如執行某框格以上/下的代碼,執行標記的框格的代碼,鎖定標記的代碼,等等) |
Snippets | 將一部分代碼段包裝成一個模組,之后再jupyter中可以反復使用 設置了之后,會出現一個這樣的圖標 一開始只有example一個選項 ,選中之后,在框格中會出現 # This is an example snippet! # To create your own, add a new snippet block to the # snippets.json file in your jupyter nbextensions directory: # /nbextensions/snippets/snippets.json import this這樣一段代碼。 我們如果需要自己添加模塊的話,需要在上面所說的路徑中修改這個json文件 (默認路徑:C:\Users\賬戶名\AppData\Roaming\jupyter\nbextensions\snippets) 一開始的json文件中的內容如下: 我們添加一個模塊: 重啟當前notebook(刷新就好了),可以看到在snippets里面就有了np+pd這個模塊? 點擊它,狂框格里面就有如下代碼了:? |
Spellchecker | 設置了之后,會檢查markdown的拼寫是否正確(不會檢查語法) |
Table of Contents (2) | 添加左側目錄 設置了之后,會出現這樣的圖標 點擊之后,會出現目錄 |
Variable Inspector | 檢查當前每個參數的屬性 設置之后,會出現以下圖標 點擊之后,會出現一個顯示各個參數屬性的表格 |
3 修改顏色主題
首先安裝包:?pip install jupyterthemes
命令行選項舉例:
| jt -h | 查看幫助 |
| jt -l | 查看主題列表 |
| -T | 工具欄是否可見 |
| -fs | 代碼字號(默認11) |
| -nfs | notebook字號(默認13) |
| -ofs | 輸出內容字號(默認8.5) |
| -cellw | 單元格寬(默認980) |
| -lineh | 單元格行高(默認170) |
| -r | 恢復默認主題 |
3.1 顏色主題列舉
jt -t 加后續主題名稱 (注:有可能改完主題之后,工具欄不見了,方法是命令行的語句改成 "jt -t 主題名稱 -N -T“)
3.1.1?chesterish
3.1.2 grade3
?
?3.1.3?gruvboxd
?3.1.4?gruvboxl
?
?3.1.5?monokai
?3.1.6?oceans16
3.1.7?onedork
3.1.8?solarizedd
3.1.9??solarizedl
?4 讓一個單元格有多個輸出
正常情況下, 一個單元格只顯示一個輸出結果
?在notebook的開頭執行這樣的代碼,就可以顯示多個輸出結果了
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"?
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的jupyter notebook 进阶使用:nbextensions的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 994. 腐烂的橘子
- 下一篇: NTU 21fall-CE 7454(d