0. 前言
按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。
你是否在视频教程或说明文档或Github或其他场景中见过下面这类东东?
在这里只要在[in]中输入代码,在[out]中就会即时显示输出,更关键的是不用安装任何IDE就可以直接运行代码!这个牛13哄哄的东东就是——Jupyter Notebook。
IDE,集成开发环境(Integrated Development Environment)是一种综合性的应用程序,它集成了代码编写、编译、调试、版本控制、项目管理和构建工具等多种功能于一身,为开发者提供了一个便捷高效的一站式开发平台,例如下面这些“编写语言的软件”:
本文将系统地介绍Jupyter Notebook的使用方法,涵盖:Anaconda的环境构建、数据库导入、Markdown语法、Jupyter Notebook使用实例、.ipynb文件导入等几个方面。
本文的介绍全部通过图形界面进行,没有命令提示符窗口操作!
1. Jupyter Notebook
1.1 Jupyter Notebook简介
Jupyter是一个开源的交互式计算环境,它允许用户创建和共享包含实时代码、方程式、可视化图表和文本说明的文档。这些文档通常被称为“Notebooks”,它们是一个基于Web的应用程序,可以在浏览器中运行,并支持超过40种编程语言,包括但不限于Python、R、Julia等。
Jupyter Notebook融合了实时代码执行、富文本编辑、数据可视化和数学公式支持等功能于一体。用户可在不安装任何软件的前提下,使用单一网页界面编写、运行多种编程语言的代码,并即时查看输出结果。它支持Markdown文档撰写,有利于项目协作、学术研究与教学演示,通过集成众多科学计算库加强了数据科学工作流的效率。Jupyter Notebook有以下好处:
- 编写可执行代码:在单元格内编写代码片段,实时查看结果;
- 交互式数据分析:对数据进行清理、转换、探索性分析及可视化;
- 动态报告:将代码、文字、数学公式和图形结合在一起,形成丰富的文档,便于协作和演示;
- 教学与学习资源:作为教材或教程,方便学生直接在文档中运行示例代码并观察输出;
- 版本控制与分享:Notebooks 可以通过GitHub等工具进行版本控制,并方便地分享给他人审阅或复现研究结果;
Jupyter 还拥有强大的生态系统,其中包括 JupyterLab,这是一个下一代交互式开发环境,提供了更为灵活和模块化的界面来处理Notebooks以及其他文件类型。此外,JupyterHub 和 Binder 等项目则支持多用户环境和基于云的Notebook托管服务。
1.2 Jupyter Notebook启动方式
Jupyter Notebook启动有以下两种方式:
①不安装任何软件,直接通过Jupyter官网试用网页版:Intro (jupyter.org)
②先安装Anaconda,然后通过本地应用打开Jupyter Notebook:
启动后也是在网页中,点击“New-->Notebook-->选择kernel”即可创建新的Notebook文档:
这里需要解释下Jupyter Notebook中的kernel:
在Jupyter Notebook(以及其后续版本JupyterLab)中,Kernel是指运行和执行用户代码的计算后端。当你打开一个Notebook并开始编写代码时,Notebook并不是直接执行这些代码,而是通过与一个后台进程(即Kernel)进行通信来执行和获取结果。
具体来说,Kernel代表了一个特定编程语言的解释器或编译器环境,例如Python、R、Julia等。每个Kernel都对应着一个独立的运行环境,其中包含了所有相关的库和依赖包。
这里我推荐通过第②种方法启动Jupyter Notebook,但是可能就有同学会困惑了:上面不是说使用Jupyter Notebook的好处是可以避免安装IDE吗?下面是我自己总结的先安装Anaconda的好处:
- 相比通过Jupyter官网进入试用版,通过本地安装启动Notebook代码运行更快(试用版经常会卡住不动);
- 相比IDE的安装,Anaconda的安装及配置要容易得多(反正对于环境管理等方面,Anaconda都是必须的);
- 试用版Notebook有很多限制,例如不能上传和打开Jupyter Notebook生成的.ipynb文件
2. Anaconda
Anaconda 是一个开源的数据科学平台,它提供了一个强大的软件包管理系统——Conda,用于简化包的安装、管理和环境配置。
可以把Anaconda理解为大规模数据处理、机器学习、数据分析等相关软件的“APP Store”。
2.1 Anaconda安装
Anaconda可以通过官网免费下载使用:Free Download | Anaconda
安装后就可以看到软件全家桶:
在Jupyter Notebook下点击“Install”,安装成功后点击“launch”就可以启动Notebook了。
→
2.2 虚拟环境创建
虚拟环境在软件开发中扮演着至关重要的隔离角色,它通过创建独立的Python运行环境来确保不同项目之间不会因为依赖库版本冲突而相互影响。每个虚拟环境都有自己的一份Python解释器副本和独立的第三方包安装目录,使得开发者能够为每个项目配置特定版本的库和工具,从而保证项目的可重复构建与部署,并且简化了多项目并行开发时的依赖管理。
在Anaconda Navigator中创建虚拟环境的操作如下:
这里可以看到我已经有了4个环境:
- base(root)这个是默认环境,不用创建
- DL
- pytorch
- anaconda3
大家可以按照需求创造自己的环境。
注意:在上面启动Jupyter Notebook时也需要注意是从哪个虚拟环境launch的:
因为不同的虚拟环境下会配置有不同的第三方库。
2.3 安装第三方库
即便Jupyter Notebook是基于网页的交互式计算环境,但是在使用前还是需要安装第三方库,否则就会像下面这样:
这就是因为没有先安装'torch'库导致的。
安装第三方库的过程如下:
安装成功后再运行就OK了~
3. Markdown
3.1 Markdown简介
Markdown 是一种轻量级的标记语言,并通过易读易写的纯文本格式实现对文档结构和样式的控制。Markdown 的设计目的是让用户可以专注于内容本身,而非复杂的排版样式,同时其语法简单明了,方便快捷地转换为结构化的HTML、PDF等多种格式。
在Jupyter Notebook中可以选择当前的输入框是想输入文本(Markdown)还是代码:
3.2 Markdown的常用语法
①标题:
使用 `#` 符号表示不同级别的标题,例如:
1. # 一级标题 2. ## 二级标题 3. ... 4. ###### 六级标题
②段落与换行:
段落之间使用一个空行进行分隔。如果需要在同一行内强制换行,可以在行尾添加两个或多个空格后回车。
③强调:
斜体:使用星号 `*` 或下划线 `_` 包围文字,例如:`*斜体*` 或 `_斜体_`。
加粗:使用两个星号 `**` 或两个下划线 `__` 包围文字,例如:`**加粗**` 或 `__加粗__`。
④引用:
使用大于号 `>` 引领一行或多行文本以创建引用块,嵌套引用则连续使用多个 `>`。
⑤列表:
无序列表:每项前使用 `-`、`+` 或 `*` 开头,如:
1. - 列表项一 2. - 列表项二 3. - 列表项三
有序列表:数字加`.`,如:
1. 1. 第一项 2. 2. 第二项
⑥链接:
直接链接: `[链接文本](链接地址)`,例如:`[Google](https://www.google.com)`
参考式链接: `[链接文本][引用名称]` 在文档任意位置定义 `[引用名称]: 链接地址`。
⑦图片:
图片插入类似链接语法,但在方括号后面加上感叹号 `!`,例如:`![图片描述](图片URL)`
⑧水平线:
通过在一行中输入三个或以上的 `-`、`*` 或 `_` 来创建水平分割线。
4. LaTex
4.1 LaTex介绍
在数学、科技和教育领域,输入公式的语言通常指的是用来描述和展示数学公式、符号以及科学表达式的方法。其中最常见的是LaTeX,它是一种基于TeX的文字处理系统,专门用于排版数学公式、论文和技术文档。
4.2 LaTex的常用语法
关于LaTex编辑公式的内容实在太多,这里不再赘述,引用一篇参考文章:使用CSDN的MarkDown编辑公式_csdn如何打分母分子-CSDN博客
5. Jupyter Notebook使用实例
掌握了上述步骤后,我们就可以写自己的酷炫Notebook文档啦~
点击“Run All Cells”
就会生成下面的文档:
最后别忘了保存好自己的Notebook: