jupyter notebook 进阶使用:nbextensions
nbextensions 是jupyter notebook 的一個(gè)擴(kuò)展,可以有很多有用的功能
1 安裝&配置nbextensions
在我們配置nbextensions之前,jupyter notebook的界面是這樣的:
我們?cè)诿钚休斎胍韵旅?#xff0c;即可安裝并配置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安裝配置完成后,我們重新啟動(dòng)jupyter notebook,界面變成了:
多出來的一欄就是我們新配置的nbextensions
2 nbextensions主要擴(kuò)展
點(diǎn)開nbextensions?,里面是所有我們可以添加的擴(kuò)展
?下面將列舉一些較為有用的擴(kuò)展
2to3 Converter | 將一個(gè)框內(nèi)的python2 代碼轉(zhuǎn)換成python3代碼,設(shè)置了之后,會(huì)出現(xiàn)一個(gè)這樣的圖標(biāo): ?如果一個(gè)框格內(nèi)本來是python2的代碼 點(diǎn)擊了圖標(biāo)之后,代碼會(huì)變成 ? |
AddBefore | 在原始的jupyter notebook中,我們只能向框格后面添加新的框格。設(shè)置了這個(gè)之后,我們可以在指定框格之前添加新的框格了 這一圖圖標(biāo)分別表示了向前和向后添加框格 |
AutoSaveTime | 設(shè)置自動(dòng)保存代碼的間隔,設(shè)置了之后,會(huì)出現(xiàn)這個(gè)圖標(biāo) |
Autopep8 | 首先用?pip install autopep8? 安裝包 然后設(shè)置了這一選項(xiàng)之后,就可以對(duì)單元格里面的代碼自動(dòng)排版了 比如原來是這樣的一串代碼: 設(shè)置了這一選項(xiàng)后,也會(huì)出現(xiàn)一個(gè)圖標(biāo) ? *注意和2to3conveter的區(qū)分一下? 點(diǎn)擊圖標(biāo)之后,會(huì)出現(xiàn): |
Code Font Size | 設(shè)置代碼字體大小,設(shè)置了之后,會(huì)出現(xiàn)這樣的圖標(biāo): |
Codefolding | 設(shè)置了之后,可以折疊代碼 |
Collapsible Headings | 設(shè)置了之后,標(biāo)題內(nèi)的部分可以折疊 |
datestamper | 設(shè)置了之后,會(huì)出現(xiàn)這樣的一個(gè)圖標(biāo) 點(diǎn)擊該圖標(biāo),會(huì)將當(dāng)前時(shí)間復(fù)制到框格中 |
ExecuteTime | 設(shè)置之后,每執(zhí)行一個(gè)框格的內(nèi)容,都會(huì)顯示執(zhí)行的時(shí)間 |
Exercise | 設(shè)置之后。將第一個(gè)框格設(shè)置為問題,之后的設(shè)置為答案,答案可以被隱藏 設(shè)置之后,會(huì)出現(xiàn)這個(gè)圖標(biāo) 選中多個(gè)框格(長摁shift+點(diǎn)擊代碼段灰色的部分 ? 然后點(diǎn)擊該圖標(biāo) 比如這兩個(gè)圖標(biāo),我們同時(shí)選中這兩個(gè),然后點(diǎn)擊exercise圖標(biāo) 效果為: 點(diǎn)開之后,有: |
Exercise2 | 和Exercise類似,不過比它美觀一點(diǎn)(個(gè)人觀感) 設(shè)置了之后,會(huì)出現(xiàn)這個(gè)圖標(biāo)? ? 也是選定多個(gè)框格,然后點(diǎn)擊該圖標(biāo),效果為: |
highlighter | 對(duì)于框格內(nèi)的markdown內(nèi)容,可以改變背景顏色 設(shè)置了之后,會(huì)出現(xiàn)這樣的圖標(biāo) 比如對(duì)于這樣的markdown 選中高亮之后,可以是:? ? |
Hinterland | 代碼補(bǔ)全 |
Limit Output | 限制每個(gè)框格輸出的字符個(gè)數(shù) |
nbTranslate | 對(duì)markdown的部分進(jìn)行翻譯 設(shè)置之后,會(huì)出現(xiàn)這兩個(gè)圖標(biāo) 點(diǎn)擊右邊的設(shè)置可以設(shè)置源語言和目標(biāo)語言 ? 我這里是英語翻譯成簡體漢語 設(shè)置完之后,點(diǎn)擊左邊的圖標(biāo),即可進(jìn)行翻譯 原來的markdown? ?翻譯之后的markdown |
Notify | 當(dāng)notebook內(nèi)核空閑的時(shí)候,會(huì)在瀏覽器處發(fā)一個(gè)通知 |
Rubberband | 更方便地選中各個(gè)框格 shift+鼠標(biāo)左鍵:選中目前框起來的框格 ctrl+shif+鼠標(biāo)左鍵:選中所有框起來過的框格 |
Runtools | 更多地執(zhí)行python程序的方法(如執(zhí)行某框格以上/下的代碼,執(zhí)行標(biāo)記的框格的代碼,鎖定標(biāo)記的代碼,等等) |
Snippets | 將一部分代碼段包裝成一個(gè)模組,之后再jupyter中可以反復(fù)使用 設(shè)置了之后,會(huì)出現(xiàn)一個(gè)這樣的圖標(biāo) 一開始只有example一個(gè)選項(xiàng) ,選中之后,在框格中會(huì)出現(xiàn) # 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這樣一段代碼。 我們?nèi)绻枰约禾砑幽K的話,需要在上面所說的路徑中修改這個(gè)json文件 (默認(rèn)路徑:C:\Users\賬戶名\AppData\Roaming\jupyter\nbextensions\snippets) 一開始的json文件中的內(nèi)容如下: 我們添加一個(gè)模塊: 重啟當(dāng)前notebook(刷新就好了),可以看到在snippets里面就有了np+pd這個(gè)模塊? 點(diǎn)擊它,狂框格里面就有如下代碼了:? |
Spellchecker | 設(shè)置了之后,會(huì)檢查markdown的拼寫是否正確(不會(huì)檢查語法) |
Table of Contents (2) | 添加左側(cè)目錄 設(shè)置了之后,會(huì)出現(xiàn)這樣的圖標(biāo) 點(diǎn)擊之后,會(huì)出現(xiàn)目錄 |
Variable Inspector | 檢查當(dāng)前每個(gè)參數(shù)的屬性 設(shè)置之后,會(huì)出現(xiàn)以下圖標(biāo) 點(diǎn)擊之后,會(huì)出現(xiàn)一個(gè)顯示各個(gè)參數(shù)屬性的表格 |
3 修改顏色主題
首先安裝包:?pip install jupyterthemes
命令行選項(xiàng)舉例:
| jt -h | 查看幫助 |
| jt -l | 查看主題列表 |
| -T | 工具欄是否可見 |
| -fs | 代碼字號(hào)(默認(rèn)11) |
| -nfs | notebook字號(hào)(默認(rèn)13) |
| -ofs | 輸出內(nèi)容字號(hào)(默認(rèn)8.5) |
| -cellw | 單元格寬(默認(rèn)980) |
| -lineh | 單元格行高(默認(rèn)170) |
| -r | 恢復(fù)默認(rèn)主題 |
3.1 顏色主題列舉
jt -t 加后續(xù)主題名稱 (注:有可能改完主題之后,工具欄不見了,方法是命令行的語句改成 "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 讓一個(gè)單元格有多個(gè)輸出
正常情況下, 一個(gè)單元格只顯示一個(gè)輸出結(jié)果
?在notebook的開頭執(zhí)行這樣的代碼,就可以顯示多個(gè)輸出結(jié)果了
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的jupyter notebook 进阶使用:nbextensions的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文巾解题 994. 腐烂的橘子
- 下一篇: NTU 21fall-CE 7454(d