Jupyter notebook 的使用

Jupyter notebook 是一種 Web 應(yīng)用,它能讓用戶將說明文本、數(shù)學(xué)方程、代碼和可視化內(nèi)容全部組合到一個(gè)易于共享的文檔中,非常方便研究和教學(xué)。在原始的 Python shell 與 IPython 中,可視化在單獨(dú)的窗口中進(jìn)行,而文字資料以及各種函數(shù)和類腳本包含在獨(dú)立的文檔中。

1 安裝

通過安裝Anaconda來解決Jupyter Notebook的安裝問題,因?yàn)锳naconda已經(jīng)自動(dòng)為你安裝了Jupter Notebook及其他工具,還有python中超過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è)問題,從命令行輸入jupyter notebook的時(shí)候發(fā)現(xiàn)目錄已經(jīng)更改了,但是點(diǎn)擊桌面的jupyter圖標(biāo)打開的目錄依然沒有修改,這是找到桌面圖標(biāo)所在位置點(diǎn)擊【屬性】,找到下圖位置,刪掉%USERPROFILE%,保存即可。

3 常用快捷鍵

命令模式快捷鍵(按 Esc 鍵開啟):

快捷鍵 作用 說明
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)閉頁面
Q 關(guān)閉頁面
H 顯示快捷鍵幫助
I,I 中斷 NoteBook 內(nèi)核
0,0 重啟 NoteBook 內(nèi)核
Shift 忽略
Shift-Space 向上滾動(dòng)
Space 向下滾動(dòng)

編輯模式快捷鍵( 按 Enter 鍵啟動(dòng)):

快捷鍵 作用 說明
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ù)字鍵16 將當(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í)

【問題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

【問題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

【問題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ù)原來的配置

jt -r
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容