Jupyter notebook 是一種 Web 應(yīng)用嘹朗,它能讓用戶將說(shuō)明文本师妙、數(shù)學(xué)方程、代碼和可視化內(nèi)容全部組合到一個(gè)易于共享的文檔中屹培,非常方便研究和教學(xué)默穴。在原始的 Python shell 與 IPython 中,可視化在單獨(dú)的窗口中進(jìn)行褪秀,而文字資料以及各種函數(shù)和類腳本包含在獨(dú)立的文檔中蓄诽。
1 安裝
通過(guò)安裝Anaconda來(lái)解決Jupyter Notebook的安裝問(wèn)題,因?yàn)锳naconda已經(jīng)自動(dòng)為你安裝了Jupter Notebook及其他工具媒吗,還有python中超過(guò)180個(gè)科學(xué)包及其依賴項(xiàng)仑氛。
2 修改默認(rèn)工作目錄
在cmd中輸入 jupyter notebook --generate-config
如果該配置文件已經(jīng)存在,那么闸英,會(huì)出現(xiàn)如下信息锯岖,從中可以見到配置文件存在的位置,注意甫何,此時(shí)出吹,輸入N,不要overwrite
在用戶目錄下可以看到j(luò)upyter_notebook_config.py文件
找到c.NotebookApp.notebook_dir = ''
修改為需要的目錄即可,如:c.NotebookApp.notebook_dir = 'D:\workspace\jupyter_notebook'
有個(gè)問(wèn)題辙喂,從命令行輸入jupyter notebook
的時(shí)候發(fā)現(xiàn)目錄已經(jīng)更改了捶牢,但是點(diǎn)擊桌面的jupyter圖標(biāo)打開的目錄依然沒有修改赃额,這是找到桌面圖標(biāo)所在位置點(diǎn)擊【屬性】,找到下圖位置叫确,刪掉%USERPROFILE%
跳芳,保存即可。
3 常用快捷鍵
命令模式快捷鍵(按 Esc 鍵開啟):
快捷鍵 | 作用 | 說(shuō)明 |
---|---|---|
Enter | 轉(zhuǎn)入編輯模式 | |
Shift-Enter | 運(yùn)行本單元竹勉,選中下個(gè)單元 | 新單元默認(rèn)為命令模式 |
Ctrl-Enter | 運(yùn)行本單元 | |
Alt-Enter | 運(yùn)行本單元飞盆,在其下插入新單元 | 新單元默認(rèn)為編輯模式 |
Y | 單元轉(zhuǎn)入代碼狀態(tài) | |
M | 單元轉(zhuǎn)入 markdown 狀態(tài) | |
R | 單元轉(zhuǎn)入 raw 狀態(tài) | |
1 | 設(shè)定 1 級(jí)標(biāo)題 | 僅在 markdown 狀態(tài)下時(shí)建議使用標(biāo)題相關(guān)快捷鍵,如果單元處于其他狀態(tài)次乓,則會(huì)強(qiáng)制切換到 markdown 狀態(tài) |
2 | 設(shè)定 2 級(jí)標(biāo)題 | |
3 | 設(shè)定 3 級(jí)標(biāo)題 | |
4 | 設(shè)定 4 級(jí)標(biāo)題 | |
5 | 設(shè)定 5 級(jí)標(biāo)題 | |
6 | 設(shè)定 6 級(jí)標(biāo)題 | |
Up | 選中上方單元 | |
K | 選中上方單元 | |
Down | 選中下方單元 | |
J | 選中下方單元 | |
Shift-K | 連續(xù)選擇上方單元 | |
Shift-J | 連續(xù)選擇下方單元 | |
A | 在上方插入新單元 | |
B | 在下方插入新單元 | |
X | 剪切選中的單元 | |
C | 復(fù)制選中的單元 | |
Shift-V | 粘貼到上方單元 | |
V | 粘貼到下方單元 | |
Z | 恢復(fù)刪除的最后一個(gè)單元 | |
D,D | 刪除選中的單元 | 連續(xù)按兩個(gè) D 鍵 |
Shift-M | 合并選中的單元 | |
Ctrl-S | 保存當(dāng)前 NoteBook | |
S | 保存當(dāng)前 NoteBook | |
L | 開關(guān)行號(hào) | 編輯框的行號(hào)是可以開啟和關(guān)閉的 |
O | 轉(zhuǎn)換輸出 | |
Shift-O | 轉(zhuǎn)換輸出滾動(dòng) | |
Esc | 關(guān)閉頁(yè)面 | |
Q | 關(guān)閉頁(yè)面 | |
H | 顯示快捷鍵幫助 | |
I,I | 中斷 NoteBook 內(nèi)核 | |
0,0 | 重啟 NoteBook 內(nèi)核 | |
Shift | 忽略 | |
Shift-Space | 向上滾動(dòng) | |
Space | 向下滾動(dòng) |
編輯模式快捷鍵( 按 Enter 鍵啟動(dòng)):
快捷鍵 | 作用 | 說(shuō)明 |
---|---|---|
Tab | 代碼補(bǔ)全或縮進(jìn) | |
Shift-Tab | 提示 | 輸出幫助信息吓歇,部分函數(shù)、類票腰、方法等會(huì)顯示其定義原型城看,如果在其后加 ? 再運(yùn)行會(huì)顯示更加詳細(xì)的幫助 |
Ctrl-] | 縮進(jìn) | 向右縮進(jìn) |
Ctrl-[ | 解除縮進(jìn) | 向左縮進(jìn) |
Ctrl-A | 全選 | |
Ctrl-Z | 撤銷 | |
Ctrl-Shift-Z | 重做 | |
Ctrl-Y | 重做 | |
Ctrl-Home | 跳到單元開頭 | |
Ctrl-Up | 跳到單元開頭 | |
Ctrl-End | 跳到單元末尾 | |
Ctrl-Down | 跳到單元末尾 | |
Ctrl-Left | 跳到左邊一個(gè)字首 | |
Ctrl-Right | 跳到右邊一個(gè)字首 | |
Ctrl-Backspace | 刪除前面一個(gè)字 | |
Ctrl-Delete | 刪除后面一個(gè)字 | |
Esc | 切換到命令模式 | |
Ctrl-M | 切換到命令模式 | |
Shift-Enter | 運(yùn)行本單元,選中下一單元 | 新單元默認(rèn)為命令模式 |
Ctrl-Enter | 運(yùn)行本單元 | |
Alt-Enter | 運(yùn)行本單元杏慰,在下面插入一單元 | 新單元默認(rèn)為編輯模式 |
Ctrl-Shift-- | 分割單元 | 按光標(biāo)所在行進(jìn)行分割 |
Ctrl-Shift-Subtract | 分割單元 | |
Ctrl-S | 保存當(dāng)前 NoteBook | |
Shift | 忽略 | |
Up | 光標(biāo)上移或轉(zhuǎn)入上一單元 | |
Down | 光標(biāo)下移或轉(zhuǎn)入下一單元 | |
Ctrl-/ | 注釋整行/撤銷注釋 | 僅代碼狀態(tài)有效 |
注: 如果快捷鍵被系統(tǒng)中的其它應(yīng)用占用测柠,則可能會(huì)失效
命令模式Command Mode
按鍵 | 功能 | 按鍵 | 功能 |
---|---|---|---|
Enter |
進(jìn)入當(dāng)前塊的編輯模式 | X |
剪切選中的代碼塊 |
Shift +Enter
|
運(yùn)行當(dāng)前塊并選中下一塊 | C |
復(fù)制選中的代碼塊 |
Ctrl +Enter
|
運(yùn)行當(dāng)前塊 |
Shift +V
|
在當(dāng)前塊上方粘貼 |
Alt +Enter
|
運(yùn)行當(dāng)前塊并在下方插入新塊 | V |
在當(dāng)前塊下方粘貼 |
Y |
切換到代碼狀態(tài) | Z |
撤銷刪除操作 |
M |
切換到MarkDown狀態(tài) |
D ,D
|
刪除選中的代碼塊 |
R |
切換到Raw NBConvert |
Shift +M
|
將當(dāng)前塊與下一塊合并 |
數(shù)字鍵1 到6
|
將當(dāng)前塊第一行變?yōu)镸arkDown的n級(jí)標(biāo)題 |
S / Ctrl +S
|
保存并設(shè)置檢查點(diǎn) |
↑ / K
|
選擇上一個(gè)代碼塊 | L |
顯示/隱藏當(dāng)前塊的代碼行號(hào) |
↓ / J
|
選擇下一個(gè)代碼塊 | O |
顯示/隱藏當(dāng)前塊的輸出內(nèi)容 |
A |
在當(dāng)前塊上方插入新代碼塊 |
Shift +O
|
顯示/隱藏當(dāng)前塊的輸出內(nèi)容的滾動(dòng)條 |
B |
在當(dāng)前塊下方插入新代碼塊 |
Esc / Q
|
關(guān)閉彈窗 |
H |
展示快捷鍵幫助 |
I ,I
|
打斷kernal運(yùn)行 |
Space |
滾動(dòng)向下 |
O ,O
|
重啟kernal |
Shift +Space
|
滾動(dòng)向上 |
Shift +(↑ /↓ ) |
選中多個(gè)代碼塊 |
編輯模式Edit Mode
按鍵 | 功能 | 按鍵 | 功能 |
---|---|---|---|
Tab |
代碼補(bǔ)全/縮進(jìn) |
Ctrl +→
|
光標(biāo)右移一個(gè)詞 |
Shift +Tab
|
工具提示/反縮進(jìn) |
Ctrl +Backspace
|
刪除前一個(gè)詞 |
Ctrl +[
|
縮進(jìn) |
Ctrl +Delete
|
刪除后一個(gè)詞 |
Ctrl +]
|
反縮進(jìn) |
Ctrl +M / Esc
|
進(jìn)入命令模式 |
Ctrl +A
|
全選 |
Ctrl +Shift +P
|
打開命令選擇板 |
Ctrl +Z
|
撤銷 |
Shift +Enter
|
運(yùn)行當(dāng)前塊并選中下一塊 |
Ctrl +Y / Ctrl +Shift +Z
|
重復(fù) |
Ctrl +Enter
|
運(yùn)行當(dāng)前塊 |
Ctrl +Home
|
移動(dòng)光標(biāo)到塊首 |
Alt +Enter
|
運(yùn)行當(dāng)前塊并在下方插入新塊 |
Ctrl +End
|
移動(dòng)光標(biāo)到塊尾 |
Ctrl +Shift +-
|
按光標(biāo)位置分割當(dāng)前塊 |
Ctrl +←
|
光標(biāo)左移一個(gè)詞 |
Ctrl +S
|
保存并設(shè)置檢查點(diǎn) |
4 修改jupyter notebook的主題
主題地址:https://github.com/dunovank/jupyter-themes
4.1 安裝jupter notebook的自定義主題
pip install jupyterthemes
pip install --upgrade jupyterthemes # 可以不用升級(jí)
【問(wèn)題1】版本太低
notebook 5.7.4 has requirement jupyter-core>=4.4.0, but you'll have jupyter-core 4.3.0 which is incompatible.
Installing collected packages: notebook, jupyterthemes
Found existing installation: notebook 5.0.0
Cannot uninstall 'notebook'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
【解決1】更新一下,即可
pip install --upgrade jupyter-core
【問(wèn)題2】
Cannot uninstall 'notebook'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
【解決2】
pip install jupyterthemes --ignore-installed notebook
【問(wèn)題3】prompt_toolkit版本太高
jupyter-console 5.2.0 has requirement prompt_toolkit<2.0.0,>=1.0.0, but you'll have prompt-toolkit 2.0.7 which is incompatible.
【解決3】先查看當(dāng)前prompt_toolkit的版本缘滥,刪掉再重新安裝
pip show prompt_toolkit
pip uninstall prompt_toolkit
pip install prompt_toolkit==1.0.15
4.2 相關(guān)命令
查看主題:
>jt -l
Available Themes:
chesterish
grade3
gruvboxd
gruvboxl
monokai
oceans16
onedork
solarizedd
solarizedl
修改主題:
jt -t oceans16 -T -N -fs 12 -tfs 12
恢復(fù)原來(lái)的配置
jt -r