Jupyter notebook 的使用

2019-05-23 15:34:42 浏览数 (1)

Jupyter notebook 是一种 Web 应用,它能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中,非常方便研究和教学。在原始的 Python shell 与 IPython 中,可视化在单独的窗口中进行,而文字资料以及各种函数和类脚本包含在独立的文档中。

1 安装

通过安装Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动为你安装了Jupter Notebook及其他工具,还有python中超过180个科学包及其依赖项。

2 修改默认工作目录

在cmd中输入 jupyter notebook --generate-config

如果该配置文件已经存在,那么,会出现如下信息,从中可以见到配置文件存在的位置,注意,此时,输入N,不要overwrite

在用户目录下可以看到jupyter_notebook_config.py文件

找到c.NotebookApp.notebook_dir = ''

修改为需要的目录即可,如:c.NotebookApp.notebook_dir = 'D:workspacejupyter_notebook'

有个问题,从命令行输入jupyter notebook的时候发现目录已经更改了,但是点击桌面的jupyter图标打开的目录依然没有修改,这是找到桌面图标所在位置点击【属性】,找到下图位置,删掉%USERPROFILE%,保存即可。

3 常用快捷键

命令模式快捷键(按 Esc 键开启):

快捷键

作用

说明

Enter

转入编辑模式

Shift-Enter

运行本单元,选中下个单元

新单元默认为命令模式

Ctrl-Enter

运行本单元

Alt-Enter

运行本单元,在其下插入新单元

新单元默认为编辑模式

Y

单元转入代码状态

M

单元转入 markdown 状态

R

单元转入 raw 状态

1

设定 1 级标题

仅在 markdown 状态下时建议使用标题相关快捷键,如果单元处于其他状态,则会强制切换到 markdown 状态

2

设定 2 级标题

3

设定 3 级标题

4

设定 4 级标题

5

设定 5 级标题

6

设定 6 级标题

Up

选中上方单元

K

选中上方单元

Down

选中下方单元

J

选中下方单元

Shift-K

连续选择上方单元

Shift-J

连续选择下方单元

A

在上方插入新单元

B

在下方插入新单元

X

剪切选中的单元

C

复制选中的单元

Shift-V

粘贴到上方单元

V

粘贴到下方单元

Z

恢复删除的最后一个单元

D,D

删除选中的单元

连续按两个 D 键

Shift-M

合并选中的单元

Ctrl-S

保存当前 NoteBook

S

保存当前 NoteBook

L

开关行号

编辑框的行号是可以开启和关闭的

O

转换输出

Shift-O

转换输出滚动

Esc

关闭页面

Q

关闭页面

H

显示快捷键帮助

I,I

中断 NoteBook 内核

0,0

重启 NoteBook 内核

Shift

忽略

Shift-Space

向上滚动

Space

向下滚动

编辑模式快捷键( 按 Enter 键启动):

快捷键

作用

说明

Tab

代码补全或缩进

Shift-Tab

提示

输出帮助信息,部分函数、类、方法等会显示其定义原型,如果在其后加 ? 再运行会显示更加详细的帮助

Ctrl-]

缩进

向右缩进

Ctrl-[

解除缩进

向左缩进

Ctrl-A

全选

Ctrl-Z

撤销

Ctrl-Shift-Z

重做

Ctrl-Y

重做

Ctrl-Home

跳到单元开头

Ctrl-Up

跳到单元开头

Ctrl-End

跳到单元末尾

Ctrl-Down

跳到单元末尾

Ctrl-Left

跳到左边一个字首

Ctrl-Right

跳到右边一个字首

Ctrl-Backspace

删除前面一个字

Ctrl-Delete

删除后面一个字

Esc

切换到命令模式

Ctrl-M

切换到命令模式

Shift-Enter

运行本单元,选中下一单元

新单元默认为命令模式

Ctrl-Enter

运行本单元

Alt-Enter

运行本单元,在下面插入一单元

新单元默认为编辑模式

Ctrl-Shift--

分割单元

按光标所在行进行分割

Ctrl-Shift-Subtract

分割单元

Ctrl-S

保存当前 NoteBook

Shift

忽略

Up

光标上移或转入上一单元

Down

光标下移或转入下一单元

Ctrl-/

注释整行/撤销注释

仅代码状态有效

注: 如果快捷键被系统中的其它应用占用,则可能会失效

命令模式Command Mode

按键

功能

按键

功能

Enter

进入当前块的编辑模式

X

剪切选中的代码块

Shift Enter

运行当前块并选中下一块

C

复制选中的代码块

Ctrl Enter

运行当前块

Shift V

在当前块上方粘贴

Alt Enter

运行当前块并在下方插入新块

V

在当前块下方粘贴

Y

切换到代码状态

Z

撤销删除操作

M

切换到MarkDown状态

D,D

删除选中的代码块

R

切换到Raw NBConvert

Shift M

将当前块与下一块合并

数字键1到6

将当前块第一行变为MarkDown的n级标题

S / Ctrl S

保存并设置检查点

↑ / K

选择上一个代码块

L

显示/隐藏当前块的代码行号

↓ / J

选择下一个代码块

O

显示/隐藏当前块的输出内容

A

在当前块上方插入新代码块

Shift O

显示/隐藏当前块的输出内容的滚动条

B

在当前块下方插入新代码块

Esc / Q

关闭弹窗

H

展示快捷键帮助

I,I

打断kernal运行

Space

滚动向下

O,O

重启kernal

Shift Space

滚动向上

Shift (↑/↓)

选中多个代码块

编辑模式Edit Mode

按键

功能

按键

功能

Tab

代码补全/缩进

Ctrl →

光标右移一个词

Shift Tab

工具提示/反缩进

Ctrl Backspace

删除前一个词

Ctrl [

缩进

Ctrl Delete

删除后一个词

Ctrl ]

反缩进

Ctrl M / Esc

进入命令模式

Ctrl A

全选

Ctrl Shift P

打开命令选择板

Ctrl Z

撤销

Shift Enter

运行当前块并选中下一块

Ctrl Y / Ctrl Shift Z

重复

Ctrl Enter

运行当前块

Ctrl Home

移动光标到块首

Alt Enter

运行当前块并在下方插入新块

Ctrl End

移动光标到块尾

Ctrl Shift -

按光标位置分割当前块

Ctrl ←

光标左移一个词

Ctrl S

保存并设置检查点

4 修改jupyter notebook的主题

主题地址:https://github.com/dunovank/jupyter-themes

4.1 安装jupter notebook的自定义主题
代码语言:javascript复制
pip install jupyterthemes
pip install --upgrade jupyterthemes  # 可以不用升级

【问题1】版本太低

代码语言:javascript复制
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】更新一下,即可

代码语言:javascript复制
pip install --upgrade jupyter-core

【问题2】

代码语言:javascript复制
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】

代码语言:javascript复制
pip install jupyterthemes  --ignore-installed notebook

【问题3】prompt_toolkit版本太高

代码语言:javascript复制
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】先查看当前prompt_toolkit的版本,删掉再重新安装

代码语言:javascript复制
pip show prompt_toolkit 
pip uninstall prompt_toolkit
pip install prompt_toolkit==1.0.15
4.2 相关命令

查看主题:

代码语言:javascript复制
>jt -l
Available Themes:
   chesterish
   grade3
   gruvboxd
   gruvboxl
   monokai
   oceans16
   onedork
   solarizedd
   solarizedl

修改主题:

代码语言:javascript复制
jt -t oceans16 -T -N -fs 12   -tfs 12

恢复原来的配置

代码语言:javascript复制
jt -r

0 人点赞