Jupyter Notebook是一款开放源代码的Web应用程序,它允许用户创建和共享包含实时代码、方程式、可视化和叙述文本的文档。它适用于数据分析、可视化、机器学习等多种场景,尤其在数据科学领域中广受欢迎。本文将指导你从零开始,一步步安装和配置Jupyter Notebook,无论你是使用Windows、macOS还是Linux系统,都能顺利搭建起自己的数据科学环境。

一,Jupyter Notebook 安装
由于目前集成开发环境中,Anaconda 算是比较成熟好用的。而且Anaconda 默认已经集成了Jupyter Notebook, 所以 推荐使用 安装Anaconda 的 方法来 安装Jupyter Notebook. 当然有些公司 或者企业可能由于版权授权等问题无法 直接使用免费的Anaconda 集成环境,所以也可以选择 单独安装Jupyter Notebook. 这里分别介绍这两种 方法 安装Jupyter Notebook
1. 通过安装Anaconda 软件 安装 Jupyter Notebook
1.1 访问Anaconda 网站下载 Anaconda 软件:https://www.anaconda.com/download/success
1.2 安装Anaconda
安装步骤 可以 直接下一步,这里 特别强调下
- 任何 IDE 或者编程相关的软件都不推荐安装到 包含中文的 路径中。
- 整个安装过程 有 让选择 打勾的地方,如果自己 对环境变量和系统设置不熟悉,请默认全部打勾然后下一步。
1.3 验证Anaconda 环境和软件安装是否成功
安装完成后,在命令行(Windows的CMD或PowerShell,macOS或Linux的Terminal)中输入conda list,可以看到Anaconda以及其包含的各种库的版本信息,包括Jupyter Notebook。
1.4 启动Jupyter Notebook, 并验证是否安装成功
PS: Anaconda 软件同时默认还包含了其他软件和组件。如果觉得本身用不到这么多功能和软件,需要轻量化 只针对Conda 虚拟环境以及Python 开发有需要,也可以安装另一个 轻量版本的Miniconda。 本文不对 Miniconda 做介绍,有需要的可以自行网上搜索。Miniconda 网站:MiniConda
2. 通过 Python 环境 直接安装Jupyter Notebook
如果你已经有了Python环境,但不想或不能使用Anaconda或Miniconda,可以直接使用pip安装Jupyter Notebook。
2.1 安装方法
打开终端,输入以下命令即可安装 Jupyter Notebook。
pip install notebook
2.2 启动Jupyter Notebook
Jupyter Notebook
启动jupyter notebook 有多种方法,比如另一种方法是可以通过 你想 存放 和 执行 Jupyter notebook 文件的 文件夹路径下,在 文件夹的地址栏输入Jupyter Notebook,可以快速启动 Jupyter 的命令行并跳转到 浏览器中打开Jupyter Notebook
运行上面这段命令后,浏览器会自动打开 http://localhost:8888/tree 这个地址。浏览器里会出现下图的内容。
如果不小心关掉浏览器的话,也可以在终端找回打开地址。
在浏览器输入下图中红框的地址就能重新打开。

需要关掉 Jupyter Notebook ,在终端窗口按 Control + c。Mac用户按 command + c。
3. Jupyter Notebook 配置方法
更改启动目录
默认情况下,Jupyter Notebook会启动在你执行jupyter notebook命令时所在的目录。如果想更改这个默认目录,可以使用--notebook-dir参数:
jupyter notebook --notebook-dir=path/to/directory
4. Jupyter Notebook 使用方法
相比起 VS Code 和 PyCharm,Jupyter Notebook 有以下几个优势。
Jupyter Notebook支持用Markdown和LaTex写注释。
在做数据分析时,通常需要说明数据的来源、分析时使用的公式和思路等信息。Jupyter Notebook支持使用Markdown写注释,比起其他编辑器只用通过#或者"""的方式写Python代码的注释属于降维打击了。Jupyter Notebook还支持使用LaTex写复杂的数理化公式,这也是其他编辑器通常不具备的功能。Jupyter Notebook可以按单元格运行代码。
在做数据分析时,需要导入和清洗数据,然后再套公式做数据分析。当数据量很大时,导入数据和清洗数据这两步操作可能会花费大量时间。而在Jupyter Notebook里,可以将导入数据、清洗数据和分析数据这3个操作分别放在不同的单元格里,导入和清洗只需执行一次,后面分析数据时可以随时换公式,然后只执行分析数据的那个单元格的代码。而不是所有代码都要从头到尾执行一遍,这能大大提高我们的工作效率。Jupyter Notebook使用交互模式环境。
VS Code和PyCharm写和运行Python文件时都是用命令行模式。交互模式的好处是可以不使用print就能输出的单元格的执行结果,方便我们查看代码运行时变量的变化情况。但如果一个单元格里需要输出多个变量的值,还是需要使用print分别输出。
前面说了 Jupyter Notebook 是数据分析师喜欢的工具,在程序员圈外,其实 Excel 也是数据分析领域的热门工具。但 Jupyter Notebook 的运行效率比 Excel 更高,因为它不需要处理 Excel 关注的文本样式,而且它不会把数据和业务逻辑混在一起。
在主面板有当前目录下的所有文件和文件夹。通过点击可以访问不同的目录或打开不同的文件。
4.1 创建 Notebook 文件
点击页面右上角 New,之后选择 Notebook。之后在目录里就会出现 .ipynb 后缀的文件。


上面这图,红框区域是文件名,点击后可以自行修改该文件的名字。
蓝框区域是菜单栏和常用工具。
黄框区域是单元格,编写代码就在这个位置进行。
编写与运行代码
举个例子,选中第一个单元格,输入以下代码,然后按 Shift + 回车键 就能运行代码并查看到效果。
print("雷猴")

Shift + 回车键 的功能是执行选中单元格的代码,功能和工具栏里的运行按钮是一样的。

前面介绍过,如果单元格里只有1行代码需要输出,可以省略 print()

如果有2行代码都会产生输出结果,不实用 print() 的话只会输出最后一行代码的结果。

如果两行代码都需要输出,那就需要分别给两行代码都用上 print()。

单元格运行顺序
每个单元格前面多有一个方括号 [],运行过的单元格前面还有一个数字,这个数字表示单元格运行顺序。

在执行时,左边方括号会先展示星号 *,表示正在运行。
执行完后,方括号里面回变成数字,数字表示的是执行顺序,比如运行完第一个单元格后,旁边数字显示1,继续运行下一个单元格,旁边数字就会显示2。
Jupyter Notebook 灵活的地方在于你可以选择某个单元格去执行,可以按任意顺序去执行代码。也可以多次反复运行同一个单元格,旁边的数字回帮忙记录和告知执行过的顺序。这对于调试来说是非常方便的。
编辑模式与命令模式
Jupyter Notebook 有编辑模式和命令模式。
点击输入框就能进入编辑模式,在编辑模式时光标会一闪一闪的,而且输入框底色变成白色,边框会高亮。在编辑模式可以输入文字。

点击exc键或者鼠标点击页面空白处(输入框外的地方)就能进入命令模式。进入命令模式后选中项的左侧会有蓝色高亮指示,但输入框底色会变成灰色,而且边框没有高亮,光标也不会出现。

在命令模式下可以使用快捷键操作 Jupyter Notebook,比如连按两下 d 键就会删除当前单元格。如果在编辑模式下就会输入两个字母 d。
Jupyter Notebook 支持的快捷键可以在 Help - Show Keyboard Shortcust 里查看。

熟练使用快捷键可以大大提高我们的工作效率。

Mac OS X 修饰键:
| 符号 | 修饰键 | 符号 | 修饰键 | |
|---|---|---|---|---|
| ⌘ | Command | ⇧ | Shift | |
| ⌃ | Control | ↩ | Return | |
| ⌥ | Option | ␣ | Space | |
| ⇥ | Tab |
| 功能 | 快捷键 | 说明 |
|---|---|---|
| 「命令模式」 | Esc | 蓝色的单元格 |
| 「编辑模式」 | Enter | 绿色的单元格 |
| 代码补全或缩进 | ⇥ | 「编辑模式」输入字母按 Tab 会补全,没有字母则缩进 |
| 向右缩进 | ⌘ + ] | 「编辑模式」缩进 |
| 向左缩进 | ⌘ + [ | 「编辑模式」解除缩进 |
| 全选 | ⌘ + A | 「编辑模式」 |
| 撤销 | ⌘ + Z | 「编辑模式」 |
| 跳到本单元开头 | ⌘ + ↑ | 「编辑模式」 |
| 跳到本单元末尾 | ⌘ + ↓ | 「编辑模式」⌘ + End 同样的功能 |
| 跳到本行的最左边/开头 | ⌘ + ← | 「编辑模式」 |
| 跳到本行的最右边/末尾 | ⌘ + →️ | 「编辑模式」 |
| 注释/撤销整行代码 | ⌘ + / | 「编辑模式」 |
| 运行本单元,选择下行单元 | ⇧ + ↩ | 「编辑模式」、「命令模式」 |
| 运行本单元 | ⌃ + ↩︎ | 「编辑模式」、「命令模式」 |
| 运行本单元,插入下行新单元 | ⌥ + ↩ | 「编辑模式」、「命令模式」 |
| 选中上一个单元 | ↑ | 「命令模式」;「编辑模式」下可光标上移 |
| 选中下一个单元 | ↓ | 「命令模式」;「编辑模式」下可光标下移 |
| 删除选中单元 | D , D | 「命令模式」下连续按两个 D 字母键 |
| 撤销删除选中单元 | Z | 「命令模式」下按 Z 字母键 |
| 在本单元上方插入新单元 | A | 「命令模式」下按 A 字母键 |
| 在本单元下方插入新单元 | B | 「命令模式」下按 B 字母键 |
| 剪切单元格 | X | 「命令模式」下按 X 字母键 |
| 复制单元格 | C | 「命令模式」下按 C 字母键 |
| 粘贴单元格到上方 | ⇧ + V | 「命令模式」 |
| 粘贴单元格到下方 | V | 「命令模式」下 V 字母键 |
| 更改单元格为Code | Y | 「命令模式」下按 Y 字母键 |
| 更改单元格为Markdown | M | 「命令模式」下按 M 字母键 |
| 更改单元格为Raw | R | 「命令模式」下按 R 字母键 |
| 更改单元格为标题Heading1 - Heading6 | 1 - 6 | 「命令模式」下按1到6数字键* |
| 合并选中的单元格 | ⇧ + M | 「编辑模式」如果只有一个单元格被选中,则合并当前及以下单元格 |
| 保存当前Notebook | ⌘ + S | 「编辑模式」、「命令模式」或者「命令模式」下按 S 字母键 |
| 显示快捷键提示 | H | 「命令模式」下按 H 字母键,可自定义快捷键 |
| 中断Notebook内核 | I, I | 「命令模式」下连续按两个 I (interrupt) 字母键 |
| 重启Notebook内核 | 0, 0 | 「命令模式」下连续按两个0数字键 |
Markdown
前面提到 Jupyter Notebook 支持使用 Markdown 的方式写代码注释。
方法是选中一个单元格,然后将其切换成 Markdown 模式。

切换到 Markdown 模式后就可以用 Markdown 语法写东西了。

写完按 shift + 回车键 运行该单元格就能转换成更好看的形式。

LaTex
单元格设置为 Markdown 模式后,还可以输入一些特殊领域的公式,比如数理化方面的公式。在做数据分析时也需要将公式展示记录下来。
如果要插入行内公式,可以用 $ 将公式包起来。如果要让公式独占一行则需要用 $$ 将公式包起来。

出来的效果:

关于 LaTex 语法 大家可以自行搜索学习。
5. 关于Jupyter Notebook 常见问题的解决方法
网上其实有很多 关于Jupyter notebook 常见使用问题的解决方法。我这里 只提一些我遇到的 和别人问我比较多的问题。如果有其他问题欢迎大家留言给我。
5.1 无法从文件夹 通过输入Jupyter Notebook 来启动。
出现该问题大部分就两种可能,一是 Jupyter Notebook 安装时候,没有 添加到默认的 环境变量。解决办法是:
打开电脑的环境变量,可以通过在windows 搜索框搜索 环境变量,然后打开 如下图所示的 界面,并且把anaconda 或者你的Python 环境放到 第一个位置。

5.2 启动成功 Jupyter Notebook 的命令行或者 终端后,无法自动跳转打开 浏览器。
打开你的命令行或者终端,输入 如下命令:
jupyter notebook --generate-config
输入后会得到如下提示:

到这里不要输入任何指令,而是复制下 如图所示的部分路径。这里 你的路径 跟我的可能不同。但是没关系,复制你自己的那个。

然后在文件夹中 打开这个文件。注意这个文件是 python 文件,你可能需要借助IDE 或者 一些文本编辑软件才能打开。
打开后,在任意位置,添加如下代码:-- 注意大小写。并且中间 这个浏览器的名称和路径需要替换成你默认的。比如你的浏览器是chrome 这里就是chrome。具体chrome 安装路径需要自己查看。
import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\Users\qubic\AppData\Local\Google\Chrome\Application\chrome.exe'))
c.NotebookApp.browser = 'chrome'
1870

被折叠的 条评论
为什么被折叠?



