jupyter notebook的安裝與使用詳解
最近由于項(xiàng)目需要,開始學(xué)習(xí)python,然后發(fā)現(xiàn)一個(gè)非常有用的python交互式編輯器,非常容易上手而且非常有用和實(shí)在,本博文是對(duì)學(xué)習(xí)jupyter notebook的一個(gè)匯總和記錄,與大家一起分享!下面的內(nèi)容是針對(duì)ubuntu 系統(tǒng)的,當(dāng)然,jupyter notebook在windows也是支持的。
一、jupyter notebook是什么
官網(wǎng)的介紹是:Jupyter Notebook是一個(gè)Web應(yīng)用程序,允許您創(chuàng)建和共享包含實(shí)時(shí)代碼,方程,可視化和說(shuō)明文本的文檔。 用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值模擬,統(tǒng)計(jì)建模,機(jī)器學(xué)習(xí)等等。
簡(jiǎn)單的介紹就是:Jupyter Notebook是Ipython的升級(jí)版,而Ipython可以說(shuō)是一個(gè)加強(qiáng)版的交互式 Shell,也就是說(shuō),它比在terminal里運(yùn)行python會(huì)更方便,界面更友好,功能也更強(qiáng)大。怎么強(qiáng)大法,往下看就知道了。
二、jupyter notebook的安裝和打開
安裝非常簡(jiǎn)單,只需要在終端輸入:
pip install jupyter
打開jupyter notebook 也只需要在終端輸入:
jupyter notebook
運(yùn)行上面的命令之后,你將看到類似下面這樣的輸出:
如上圖,它打開了一個(gè)端口,并且會(huì)在你的瀏覽器中打開這個(gè)頁(yè)面,主目錄是圖中的那個(gè)directory(可能第一次打開沒(méi)有這個(gè)目錄)。
三、使用
1、打開一個(gè)新文檔
在主頁(yè)面的右上角點(diǎn)new即可新建一個(gè)你想要的文件類型。
如上圖,jupyter也可以打開一個(gè)terminal,還可以作為一個(gè)text文本編輯器,功能明顯是比terminal強(qiáng)大了。
下面的Notebooks類型除了python 也是可以加入其他類型的文檔的,具體方法百度一下就好。
2、python編輯器介紹
點(diǎn)擊python2后會(huì)出現(xiàn)一下界面:
稍微介紹一下notebook 界面的組成部分1)notebook 的名稱2)主工具欄提供了保存、導(dǎo)出、重載 notebook,以及重啟內(nèi)核等選項(xiàng)3)快捷鍵4)notebook 編輯區(qū)
最下面的哪個(gè) In [ ]: 的框叫做單元格,你可以把你的代碼分成一段段的單元格輸入,然后可以逐個(gè)單元格地運(yùn)行。注意,這個(gè)功能是非常友好的,有時(shí)候只修改了中間的一小段代碼,又不想全部代碼都要重新運(yùn)行的時(shí)候這個(gè)功能就非常有用了。另外,單元格是可以改變順序的。而且可以輸出圖片和繪圖!非常強(qiáng)大吧!
這些只要稍微嘗試一下就懂的,下面主要介紹一些常用的技巧
**注意,jupyter notebook 是支持 TAB 鍵自動(dòng)補(bǔ)充單詞的,再一次展示了其強(qiáng)大友好的一面!
A.修改文檔名稱
方法一:點(diǎn)上圖的Untitled
方法二:點(diǎn)File,再點(diǎn)rename
B.導(dǎo)出文檔
步驟:點(diǎn)File,再點(diǎn)Download as
發(fā)現(xiàn)里面支持好幾種格式的導(dǎo)出,第一個(gè)ipynb是notebook的格式,是一種類json的格式保存,其他的建議你們都試一試,你會(huì)感到非常驚喜的。
C.保存
Ctrl + S 快捷鍵的可以保存你的文檔的,默認(rèn)是保存為ipynb,保存在你的主目錄下!
D.單元格格式
注意到快捷鍵欄中有一個(gè)code的下拉框,點(diǎn)開發(fā)現(xiàn)有幾個(gè)選項(xiàng):
這里介紹一下
- Code格式就是正常的python代碼格式
- Markdown的一個(gè)text文檔編輯格式,就像在word里編寫一樣
- Heading就是給Markdown的句子設(shè)置標(biāo)題等級(jí),像word的標(biāo)題一,標(biāo)題二...
- Raw NBConvert 沒(méi)用過(guò)不了解,可以自行百度或者看官網(wǎng)介紹
下面舉例說(shuō)明一下
選擇一個(gè)空的單元格,code下拉框選擇Heading,會(huì)出現(xiàn)一個(gè)不同類型的 cell:
改變單元格類型時(shí)彈出消息中有解釋,后面那個(gè)單元格以 # 標(biāo)記開頭,意味著這是一個(gè)一級(jí)標(biāo)題。如果需要子標(biāo)題,可以使用以下標(biāo)記表示:
# : 一級(jí)標(biāo)題## : 二級(jí)標(biāo)題### : 三級(jí)標(biāo)題...
輸入內(nèi)容后再運(yùn)行一下(快捷欄里有),會(huì)出現(xiàn)類似下面的情況:
我一共輸入了三級(jí)標(biāo)題,點(diǎn)其中一個(gè),你會(huì)發(fā)現(xiàn)它的code下拉欄顯示是markdown類型
你以后代碼里print 的內(nèi)容都是以markdown的格式顯示的。
E.快捷鍵
常用的快捷鍵是:
- Ctrl + Enter: 執(zhí)行單元格代碼
- Shift + Enter: 執(zhí)行單元格代碼并且移動(dòng)到下一個(gè)單元格
- Alt + Enter: 執(zhí)行單元格代碼,新建并移動(dòng)到下一個(gè)單元格
這幾個(gè)快捷鍵都是非常常用的。
F.歷史輸入和輸出變量
與標(biāo)準(zhǔn) Shell 類似,IPython 中也可以通過(guò) _ 和 _ _ 訪問(wèn)上一次和上上一次的輸出。
當(dāng)你寫的單元格多了,肯定會(huì)注意到,IPython 中每一次的輸入輸出都有序號(hào)。你可以通過(guò)一下方法訪問(wèn)這些輸入和輸出:
- _:訪問(wèn)上一次輸出
- __:訪問(wèn)上上一次輸出
- _X:訪問(wèn)歷史 X 行輸出
- _iX:訪問(wèn)歷史 X 行輸入
其中小寫字母 “i”,代表 “in”。
四、外部功能
上面講的是jupyter 的一些使用方法和技巧,其實(shí)它還有很多強(qiáng)大的外部功能的,下面給大家介紹一下。
A.魔術(shù)命令
在 IPython 的會(huì)話環(huán)境中,所有文件都可以通過(guò) %run 命令來(lái)當(dāng)做腳本執(zhí)行,并且文件中的變量也會(huì)隨即導(dǎo)入當(dāng)前命名空間。
即,對(duì)于一個(gè)模塊文件,你對(duì)他使用 %run 命令的效果和 from module import * 相同
這種以 % 開頭的命令在 IPython 中被稱為魔術(shù)命令,用于加強(qiáng) shell 的功能。
常用的魔術(shù)命令有:
%quickref | 顯示 IPython 快速參考 |
%magic | 顯示所有魔術(shù)命令的詳細(xì)文檔 |
%debug | 從最新的異常跟蹤的底部進(jìn)入交互式調(diào)試器 |
%pdb | 在異常發(fā)生后自動(dòng)進(jìn)入調(diào)試器 |
%reset | 刪除 interactive 命名空間中的全部變量 |
%run script.py | 執(zhí)行 script.py |
%prun statement | 通過(guò) cProfile 執(zhí)行對(duì) statement 的逐行性能分析 |
%time statement | 測(cè)試 statement 的執(zhí)行時(shí)間 |
%timeit statement | 多次測(cè)試 statement 的執(zhí)行時(shí)間并計(jì)算平均值 |
%who、%who_ls、%whos | 顯示 interactive 命名空間中定義的變量,信息級(jí)別/冗余度可變 |
%xdel variable | 刪除 variable,并嘗試清除其在 IPython 中的對(duì)象上的一切引用 |
!cmd | 在系統(tǒng) shell 執(zhí)行 cmd |
output=!cmd args | 執(zhí)行cmd 并賦值 |
%bookmark | 使用 IPython 的目錄書簽系統(tǒng) |
%cd direcrory | 切換工作目錄 |
%pwd | 返回當(dāng)前工作目錄(字符串形式) |
%env | 返回當(dāng)前系統(tǒng)變量(以字典形式) |
對(duì)魔術(shù)命令不熟悉的話可以通過(guò) %magic 查看詳細(xì)文檔;對(duì)某一個(gè)命令不熟悉的話,可以通過(guò) %cmd? 內(nèi)省機(jī)制查看特定文檔
B.添加插件
1)側(cè)邊欄目錄導(dǎo)航
當(dāng)文章內(nèi)容非常長(zhǎng)的時(shí)候,前后找內(nèi)容,很麻煩,不如加一個(gè)sidebar,方便導(dǎo)航方法:https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/toc2
2)隱藏代碼按鈕
有時(shí)候,希望代碼可以隱藏,這樣子文檔看起來(lái),就會(huì)干凈一些
點(diǎn)擊按鈕,就可以隱藏所有的代碼,具體做法:http://stackoverflow.com/questions/27934885/how-to-hide-code-from-cells-in-ipython-notebook-visualized-with-nbviewer當(dāng)然,還有更多的extention可見(jiàn)https://github.com/ipython-contrib/IPython-notebook-extensions/
參考【https://www.douban.com/review/7890354/】
C.運(yùn)行python文件
利用jupyter的cell是可以運(yùn)行python文件的。
方法一:
%run file.py
方法二:在unitx command前面加入一個(gè)感嘆號(hào)“!” ,如:
!python myfile.py
D.導(dǎo)入外部代碼
比如有一個(gè)test.py文件,需要將其載入到j(luò)upyter的一個(gè)cell中
在需要導(dǎo)入該段代碼的cell中輸入
%load test.py #test.py是當(dāng)前路徑下的一個(gè)python文件
shift + enter運(yùn)行后,%load test.py被自動(dòng)加入了注釋符號(hào)#,test.py中的所有代碼都被load到了當(dāng)前的cell中
或者從從網(wǎng)絡(luò)load代碼到j(luò)upyter
在cell中輸入%load http://.....,然后運(yùn)行該cell,就會(huì)將load后面所對(duì)應(yīng)地址的代碼load到當(dāng)前的cell中;
五、其他技巧
1)更改Jupyter notebook的工作空間(主目錄)
Jupyter的工作空間在其配置文件ipython_notebook_config.py中。
ipython_notebook_config.py文件在~/.jupyter/下
如果找不到那就在終端輸入:
jupyter notebook --generate-config
然后再
gedit ~/.jupyter/jupyter_notebook_config.py
Ctrl + F 找到下面這句按下面的格式,輸入你想要的目錄路徑即可
# The directory to use for notebooks.這決定了jupyter啟動(dòng)目錄 c.NotebookApp.notebook_dir = u'/path/to/your/notebooks'
2)自定義快捷鍵
這個(gè)就直接參考官方文檔吧:http://nbviewer.jupyter.org/github/ipython/ipython/blob/3.x/examples/Notebook/Custom%20Keyboard%20Shortcuts.ipynb
六、總結(jié)
總的來(lái)說(shuō),Jupyter notebook 是一款非常優(yōu)秀的交互式編輯平臺(tái),提供了分享,演示,編輯等功能.作為學(xué)習(xí)的記錄者,方便你隨時(shí)撿起學(xué)習(xí)的進(jìn)度,增量式地前進(jìn)。
希望這篇博文能對(duì)剛接觸jupyter 的朋友有所幫助!
七、參考
【1】官網(wǎng)安裝:https://jupyter.readthedocs.io/en/latest/install.html
【4】jupyter notebook 各種用法記錄(陸續(xù)更新)
到此這篇關(guān)于jupyter notebook的安裝與使用詳解的文章就介紹到這了,更多相關(guān)jupyter notebook安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)定時(shí)同步本機(jī)與北京時(shí)間的方法
這篇文章主要介紹了python實(shí)現(xiàn)定時(shí)同步本機(jī)與北京時(shí)間的方法,涉及Python針對(duì)時(shí)間的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03python 虛擬環(huán)境調(diào)用allure報(bào)錯(cuò):FileNotFoundError: [WinError
python代碼調(diào)用命令行 allure命令報(bào)錯(cuò),提示找不到allure這個(gè)命令,本文就詳細(xì)的介紹了具體的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼
這篇文章主要介紹了python+matplotlib實(shí)現(xiàn)禮盒柱狀圖實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python uuid生成唯一id或str的最簡(jiǎn)單案例
這篇文章主要介紹了python uuid生成唯一id或str的最簡(jiǎn)單案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01python實(shí)現(xiàn)折半查找和歸并排序算法
這篇文章主要介紹了python實(shí)現(xiàn)折半查找和歸并排序算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04使用python爬蟲實(shí)現(xiàn)抓取動(dòng)態(tài)加載數(shù)據(jù)
這篇文章主要給大家介紹了如何用python爬蟲抓取豆瓣電影“分類排行榜”中的電影數(shù)據(jù),比如輸入“犯罪”則會(huì)輸出所有犯罪影片的電影名稱、評(píng)分,文中通過(guò)代碼示例和圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作詳解
最近用到了上采樣下采樣操作,pytorch中使用interpolate可以很輕松的完成,下面這篇文章主要給大家介紹了關(guān)于Pytorch上下采樣函數(shù)之F.interpolate數(shù)組采樣操作的相關(guān)資料,需要的朋友可以參考下2022-04-04Python函數(shù)式編程之返回函數(shù)實(shí)例詳解
函數(shù)式編程的一個(gè)特點(diǎn)就是,允許把函數(shù)本身作為參數(shù)傳入另一個(gè)函數(shù),還允許返回一個(gè)函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python函數(shù)式編程之返回函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-09-09