一、简介
- Jupyter Notebook是一个开源的 Web 应用,能够让你创建、分享包含可执行代码、可视化结构和文字说明的文档。
- Jupyter Notebook的应用非常广泛,它可以用在数据清理与转换、数字模拟、统计模型、数据可视化、机器学习等方面。
Jupyter Notebook非常活跃于深度学习领域。在项目的实验测试阶段,它相比于用 py 文件来直接编程更方便一些。在项目结束之后如果要写项目报告,用 Jupyter 也比较合适。
二、安装与使用
Jupyter Notebook主要有以下三个非常实用的功能:执行代码、数据可视化以及使用 Markdown 功能写报告
- 执行代码。一般是 Python 程序,也可以添加新的编程语言。
- 数据可视化。如果我们经常在 Linux 环境编程开发,需要对数据可视化该怎么办呢?是不是只能把图片保存下来,然后下载到本地进行查看?使用 Jupyter Notebook 就不用多此一举,我们可以直接在页面中查看。如下图所示:
- 使用 Markdown 功能写文档。这些文档中还包含了代码以及代码执行后的结果,非常有助于你书写项目报告。
1. 安装
- 最简单的方法是通过安装 Anaconda 来使用 Jupyter Notebook & Lab。Anaconda已自动安装了 Jupter Notebook 及其他工具,还有 Python 中超过 180 个科学包及其依赖项。安装好 Anaconda 后进入 Anaconda Navigator,可以通过 Anaconda Navigator 启动 Juypter Notebook 或者 Jupyter Lab。
- 使用 pip 安装与启动:
# 升级pippip install --user--upgrade pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com # 安装 Jupyter Notebookpip install jupyter notebook -i http://pypi.douban.com/simple --trusted-host pypi.douban.com # 安装 Jupyter Labpip install jupyterlab -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
安装完成后,直接在终端执行 jupyter notebook 或 jupyter lab 命令启动。
2. 基本使用
以讲解 Jupyter Lab 的使用为例,Jupyter Lab是 Jupyter Notebook 的下一代产品,在使用方式上更为灵活、便捷。使用 Jupyter Lab 的内容同样适用于Jupyter Nobebook,它们只是工具的表现形式不一样而已。
我们在命令行或者 Anaconda Navigator 中启动 Jupyter Lab 之后,浏览器会自动打开如下所示的 Jupyter Lab 界面:
最左侧显示的是你启动时所在的目录,右侧是你可以使用的一些开发工具。
- 点击 Notebook 的 “Python 3” 的图标之后,会自动新建一个 Notebook。
- Jypter Lab 与 Jupyter Notebook 中都会用到这个叫作 Notebook 的编辑工具。
- Jupyter Lab 与 Jupyter Notebook 的不同之处在于 IDE 的界面以及操作方式,这里讲解是以使用 Jupyter Lab 为例。
- 一个 Notebook 的编辑界面主要由 4 个部分组成:菜单栏、工具栏、单元格(Cell)以及内核。如下图所示:
单元格(Cell):
- Code 单元格:包含可以在内核运行的代码,并且在单元格下方输出运行结果。
- Markdown 单元格:包含运用 Markdown 的文档,常用于文档的说明,也是可以运行的单元格。
- 从 Code 单元格切换到 Markdown 单元格的切换的快捷键是m;从 Markdown 单元格切换到 Code 单元格的切换的快捷键是y。
- 切换之前需要先按 Esc,从单元格的编辑状态中退出。
在工具栏中也可以切换,但是还是快捷键方便些,如下图所示:
- 我们可以通过上下键移动选中的单元格。移动到这一行,然后开始运行这个单元格。
- 运行单独一个单元格的快捷键为:Ctrl+Enter,运行选中单元格并切换到下一个单元格的快捷键是Shift+Enter。
- a 在单元格上方插入新的单元格;b 在单元格下方插入新的单元格;
- x 删除单元格;z 撤销删除的单元格。
3. Magic 命令
Jupyter Notebook 的前身是 IPython Notebook,所以 Jupyter 也支持 IPython 的 Magic 命令。IPython 是一个比 Python 自带的 Shell 更加灵活方便的 Shell,它主要活跃于数据科学领域。
Magic 命令分两种:
- Line Magics 命令:在命令前面加%,表示只在本行有效
- Cell Magics 命令:在命令前面加%%,表示在整个 Cell 单元有效。
介绍几个常用的 Magic 命令
- %lsmagic:用来查看可以使用的 Magic 命令
- %matplotlib inline:可以在单元格下面直接打印出 matplotlib 绘制的图形,通常要在 matplotlib 模块引入之前使用;使用这个 Magic 命令之后,可以不用 plt.show()。
- %pwd:查看当前的文件路径
- %%writefile:写文件,%%writefile 后面紧跟着文件名,然后下面写文件的内容
- %run: 运行一个文件,%run 后面跟着要运行的文件
比如我们先写一个 test_temp.py 的文件。运行单元格之后会在当前位置生成一个叫作 test_temp.py 的文件,然后使用 %run 来运行它
%load:加载文件。使用 %load + 文件名可以把指定的文件加载到单元格内
示例如下:
开发到某一阶段时,可能会发现之前的某些代码写错了,需要回过头重新编辑然后运行代码,这是一件很正常的事情。但这个时候你要注意,每个 Code 单元格是有执行顺序的,这个顺序就是每个单元格前面[]的数字。
如果你想全部重新执行的话,Kernal 菜单中的一些功能会帮到你。
- Restart Kernel:重新启动内核,清除所有变量。
- Restart Kernel and Clear All Outputs:重新启动内核,清除所有变量与输出。
- Restart Kernel and Run up to Selected Cell:重启内核,运行选中的单元格。
- Restart Kernel and Run All Cells:重启内核,运行所有单元格。
我们现在使用的是 Python 内核,其实 Jupyter 还支持很多其他的内核,如 Java、C、R 以及 Julia 等编程语言的内核。我们创建 Notebook 的时候就选择好了使用什么样的内核。
三、配置Notebook
1. 更改默认工作目录
想要修改 Jupyter Notebook 那些默认的配置选项,就需要在配置文件 jupyter_notebook_config.py 中修改相应配置选项的属性。这个配置文件一开始并不存在,需要手动生成,在命令行输入 jupyter notebook --generate-config 并执行,配置文件就创建好了,它的位置是在 C:\Users\Administrator.jupyter\ 中。
然后根据路径去找配置文件:jupyter_notebook_config.py
一般情况下,jupyter的默认工作目录为C:\Users\Administrator\,这样很不清爽,而且不便于管理项目,所以常需要在其他盘建立一个独立的jupyter工作目录文件。
现在用前面生成的配置文件jupyter_notebook_config.py,工作目录就在这个里面进行修改。
- 用记事本打开配置文件jupyter_notebook_config.py
- Crtl + F组合键,然后输入 c.NotebookApp.notebook_dir 查找到元素,删掉前面的注释#
- 在后面的单引号里输入要设置的目录路径,保存关闭;例如:c.NotebookApp.notebook_dir = r’D:\python\jupyter_notebook’
- 修改快捷键,在 win 开始菜单中搜索,找到 jupyter notebook 快捷图标,右击选择属性,删除目标值最后的 “%USERPROFILE%”,点击确定退出。
经过这四个步骤,工作目录就修改好了,这时候不管你是通过快捷键还是命令行进入jupyter notebook,都能看到最新设置的目录,干净清爽,之后写代码,在这个目录下创建文件即可,方便管理。
2. 更换皮肤主题
jupyter notebook默认的主题为白色背景,长期使用对眼睛不太友好,如果能够像 Pycharm 那样更换自己喜欢的主题,既能缓解视觉疲劳、保护视力,又能提升敲代码体验,岂不美哉!
Github上大神提供的包jupyterthemes:https://github.com/dunovank/jupyter-themes
jupyterthemes的安装
pip install jupyterthemes -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
命令行输入如指令查看主题
jt -l
结果如下:
Available Themes: chesterish grade3 gruvboxd gruvboxl monokai oceans16 onedork solarizedd solarizedl # 有很多主题可供使用呀
查看jupyter-theme的帮助手册
jt -h
结果如下:
可以看到,帮助里告诉了我们该如何使用命令以及参数设置。
jupyter-theme常用参数
更多详细的使用和字体设置参考文档:https://github.com/dunovank/jupyter-themes
jupyter-theme使用示例
jt -t monokai -f sourcemed -fs12-tf sourcemed -tfs16-nf code -nfs13-ofs14
运行效果如下:
jt -t gruvboxl -f hack -fs12-tf sourcemed -tfs16-nf ptmono -nfs13-ofs14
运行效果如下:
jt -t solarizedd -f sourcemed -fs12-tf sourcemed -tfs16-nf code -nfs13-ofs14
运行效果如下:
jt -t chesterish -f sourcemed -fs12-tf sourcemed -tfs16-nf code -nfs13-ofs14
运行效果如下:
更多风格可以自行调参数进行设置,当你又想变回原来的风格,使用如下命令:
# -*- coding: UTF-8 -*-"""@Author :叶庭云@公众号 :修炼Python@CSDN :https://yetingyun.blog.csdn.net/"""jt -r
运行效果如下: