1. 什么是Jupyter Notebook?
-
Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。
2. 组成部分
(1)网页应用
(2)文档
即Jupyter Notebook中所有交互计算、编写说明文档、数学公式、图片以及其他富媒体形式的输入和输出,都是以文档的形式体现的。
这些文档是保存为后缀名为.ipynb
的JSON
格式文件,不仅便于版本控制,也方便与他人共享。
此外,文档还可以导出为:HTML、LaTeX、PDF等格式。
3.Jupyter Notebook的主要特点
① 编程时具有语法高亮、缩进、tab补全的功能。
② 可直接通过浏览器运行代码,同时在代码块下方展示运行结果。
③ 以富媒体格式展示计算结果。富媒体格式包括:HTML,LaTeX,PNG,SVG等。
④ 对代码编写说明文档或语句时,支持Markdown语法。
⑤ 支持使用LaTeX编写数学性说明。
4.安装Jupyter Notebook
(1)安装Jupyter Notebook的前提是需要安装了Python(我的是3.7版本)
(2)我是使用Anaconda来解决Jupyter Notebook的安装问题,因为Anaconda已经自动为你安装了Jupter Notebook及其他工具,还有python中超过180个科学包及其依赖项。
如果你有任何jupyter notebook命令的疑问,可以考虑查看官方帮助文档,命令如下:
jupyter notebook --help
或
jupyter notebook -h
[1]启动
安装好后的Anaconda可以从这里进入Jupyter Notebook。
可以点击Anaconda Prompt,在终端输入命令
jupyter notebook
也可以点击Jupyter Notebook进入终端
复制最下面的地址到浏览器就可以打开。
PS:之后在Jupyter Notebook的所有操作,都请保持终端不要关闭,因为一旦关闭终端,就会断开与本地服务器的链接,你将无法在Jupyter Notebook中进行其他操作。
浏览器地址栏中默认地将会显示:http://localhost:8888
。其中,“localhost”指的是本机,“8888”则是端口号。
如果你同时启动了多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“
[2]指定端口启动
自定义端口号来启动Jupyter Notebook,可以在终端中输入以下命令:
jupyter notebook --port <port_number>
其中,“<port_number>”是自定义端口号,直接以数字的形式写在命令当中,数字两边不加尖括号“<>”。如:jupyter notebook --port 9999
,即在端口号为“9999”的服务器启动Jupyter Notebook。
[3]Jupyter Notebook的基本使用
1.files页面
2.笔记本的基本操作
5.拓展功能
[1] 关联Jupyter Notebook和conda的环境和包——“nb_conda”
-
安装
conda install nb_conda
执行上述命令能够将你conda创建的环境与Jupyter Notebook相关联,便于你在Jupyter Notebook的使用中,在不同的环境下创建笔记本进行工作。
-
使用
-
可以在Conda类目下对conda环境和包进行一系列操作。
-
###
-
可以在笔记本内的“Kernel”类目里的“Change kernel”切换内核。
-
卸载
canda remove nb_conda
执行上述命令即可卸载nb_conda包。
[2] Markdown生成目录
-
不同于有道云笔记的Markdown编译器,Jupyter Notebook无法为Markdown文档通过特定语法添加目录,因此需要通过安装扩展来实现目录的添加。
conda install -c conda-forge jupyter_contrib_nbextensions
-
执行上述命令后,启动Jupyter Notebook,你会发现导航栏多了“Nbextensions”的类目,点击“Nbextensions”,勾选“Table of Contents ⑵”
-
之后再在Jupyter Notebook中使用Markdown,点击下图的图标即可使用啦。
[3]加载指定网页源代码
-
想要在Jupyter Notebook中直接加载指定网站的源代码到笔记本中。
-
方法
执行以下命令:
%load URL
注:URL为指定网站的地址。
[4]加载本地Python文件
-
使用场景
想在Jupyter Notebook中加载本地的Python文件并执行文件代码。
-
方法
执行以下命令:
%load Python文件的绝对路径
-
注意:
-
Python文件的后缀为“py”
-
“%load后跟的是Python文件的绝对路径。
-
输入命令后,可以按ctrl+enter来执行命令。第一次执行,是将本地的python文件内容加载到单元格内。此时,Jupyter Notebook会自动将“%load”命令注释掉(即在前边加井号“#”),以便在执行已加载的文件代码时不重复执行该命令;第二次执行,则是执行已加载文件的代码。
-
[5]增加内核-“ipykernel”
-
使用场景
-
场景一:同时用不同版本的Python进行工作,在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。
-
场景二:创建了不同的虚拟环境(或许具有相同的Python版本但安装的包不同),在Jupyter Notebook中无法切换,即“New”的下拉菜单中无法使用需要的环境。
-
-
解决方法之命令行模式
-
“命令行模式”看似比较复杂,且又划分了使用场景,但通过这种方式来解决问题可以更好的了解其中的工作原理,比如,每进行一步操作对应的命令是什么,而命令的执行是为了达到什么样的目的,这些可能都被封装在图形界面上的一个点击动作来完成了。对于想更深入了解其运作过程的朋友,可以接着向下阅读。
-
1.同时使用不同版本的Python
-
在python3中创建python2内核
(a)pip 安装
-
首先安装Python 2的ipykernel包。
python2 -m pip install ipykernel
-
再为当前用户安装Python 2的内核(ipykernel)。
python2 -m ipykernel install --user
-
-
-
PS:“--user”参数的意思是针对当前用户安装,而非系统范围内的安装。
(b)conda安装
-
首先创建Python版本为3.x且具有ipykernel的新环境,其中“<env_name>”为自定义环境名,环境名两边不加尖括号“<>”。
conda create -n <env_name> python=3 ipykernel
-
然后切换至新创建的环境
Windows: activate <env_name>
Linux/macOS: source activate <env_name> -
为当前用户安装Python3的内核(ipykernel)
python3 -m ipykernel install --user
-
-
2.为不同环境创建内核
-
切换至需要安装内核的环境
Windows: activate <env_name>
Linux/macOS: source activate <env_name>
ps:“<env_name>"是需要安装内核的环境名称,环境两边不加尖括号”<>"。
-
检查该环境是否安装了ipykernel包
conda list
执行上述命令查看当前环境下安装的包,若没有安装ipykernel包,则执行安装命令;否则进行下一步。
conda install ipykernel
-
-
为当前环境下的当前用户安装Python内核
若该环境的Python版本为2.x,则执行命令:
python2 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
-
若该环境的Python版本为3.x,则执行命令:
python3 -m ipykernel install --user --name <env_name> --display-name "<notebook_name>"
-
-
-
注意:
\1. “<env_name>”为当前环境的环境名称。环境名两边不加尖括号“<>”。
\2. “<notebook_name>”为自定义显示在Jupyter Notebook中的名称。名称两边不加尖括号“<>”,但双引号必须加。
\3. “--name”参数的值,即“<env_name>”是Jupyter内部使用的,其目录的存放路径为
~/Library/Jupyter/kernels/
。如果定义的名称在该路径已经存在,那么将自动覆盖该名称目录的内容。\4. “--display-name”参数的值是显示在Jupyter Notebook的菜单中的名称。
-
-
检验
-
使用命令
jupyter notebook
启动Jupyter Notebook;在“Files”下的“New”下拉框中即可找到你在第⑶步中的自定义名称,此时,你便可以尽情地在Jupyter Notebook中切换环境,在不同的环境中创建笔记本进行工作和学习啦!
[6]关闭和退出
-
关闭笔记本和终端
当我们在Jupyter Notebook中创建了终端或笔记本时,将会弹出新的窗口来运行终端或笔记本。当我们使用完毕想要退出终端或笔记本时,仅仅关闭页面是无法结束程序运行的,因此我们需要通过以下步骤将其完全关闭。
-
方法一:
-
⑴ 进入“Files”页面。
⑵ 勾选想要关闭的“ipynb”笔记本。正在运行的笔记本其图标为绿色,且后边标有“Running”的字样;已经关闭的笔记本其图标为灰色。
⑶ 点击上方的黄色的“Shutdown”按钮。
⑷ 成功关闭笔记本。
注意:此方法只能关闭笔记本,无法关闭终端。
-
方法二:
-
⑴ 进入“Running”页面。
⑵ 第一栏是“Terminals”,即所有正在运行的终端均会在此显示;第二栏是“Notebooks”,即所有正在运行的“ipynb”笔记本均会在此显示。
⑶ 点击想要关闭的终端或笔记本后黄色“Shutdown”按钮。
⑷ 成功关闭终端或笔记本。
注意:此方法可以关闭任何正在运行的终端和笔记本。
-
⑴ 只有“ipynb”笔记本和终端需要通过上述方法才能使其结束运行。
⑵ “txt”文档,即“New”下拉列表中的“Text File”,以及“Folder”只要关闭程序运行的页面即结束运行,无需通过上述步骤关闭。
-
-
退出Jupyter Notebook程序
-
想要彻底退出Jupyter Notebook,需要关闭它的服务器。只需要在它启动的终端上按:ctrl+c
-