Jupyter Notebooks现在很火,这有其道理。这种基于Web的交互式计算环境使软件工程师可以轻松创建和共享含有实时代码、方程式、图表甚至叙述文本的文档。您可以使用窗口组件、图形、图像和视频等定制笔记本。

开源项目Jupyter支持40多种语言,比如Python、R、Julia、Matlab、Octave、Scheme、Processing和Scala。您可以通过电子邮件或Dropbox和GitHub共享笔记本。而由于交互式输出和大数据集成,您无法忽视这个易于使用的强大工具。

本文介绍安装Jupyter和启动您第一个笔记本的过程,将在Linux Mint上演示,但可以将其安装在支持conda、pip、pipenv或Docker的任何设备上。完成后,您将拥有一个功能齐全的Jupyter Notebook,准备开始第一个项目。

安装依赖项

部署Jupyter Notebook前要安装许多软件包。

要安装的第一个依赖项是Python。我们同样使用Linux Mint;如果您选择其他Linux桌面版本,可能要更改安装命令(比如将apt-get换成dnf)。

要在Linux Mint上安装Python,登录后打开终端窗口,执行以下命令:

  1. sudo apt-get install python3 -y

您可能会发现Python3已安装。无论怎样,要验证安装,执行以下命令:

  1. python3 --version

您会看到计算机上安装的Python的具体版本。

接下来需要安装让我们可以创建Python虚拟环境的一个软件。安装该软件的命令是:

  1. sudo apt-get install python3-venv -y

由于我们将使用Python软件包安装程序pip,须使用以下命令进行安装:

  1. sudo apt-get install python3-pip -y

最后我们需要安装Voila,它让您可以在Web浏览器中查看Jupyter Notebooks。首先用以下命令创建一个新目录:

  1. mkdir ~/voila

现在切换进入到新目录:

  1. cd ~/voila

现在我们可以使用Python venv命令创建虚拟环境,如下所示:

  1. python3 -m venv venv

上述命令将创建名为venv的新目录,其中包含许多文件和子目录。在该目录中,我们可以使用以下命令为voila加载预定义变量:

  1. source venv/bin/activate

最后我们可以使用pip安装Voila:

  1. pip install voila

安装Jupyter

安装所有依赖项后,我们现在可以安装Jupyter。我们将添加几个库,让它更有用一点。随时可以根据需要安装更多的Python库。执行命令:

  1. pip install jupyter numpy matplotlib

已完成了安装。现在是时候部署您的第一个Jupyter Notebook了。

部署Notebook

遗憾的是,Jupyter Notebooks每次都必须从命令行来部署。因此,没有方便的桌面快捷方式可供点击。这是由于Notebooks必须从虚拟环境中启动。因此在~/ voila目录中,执行命令:

  1. jupyter notebook

运行命令后不久,默认Web浏览器会打开,Jupyter Notebook实例已准备可以工作(图1)。

图1:我们的第一个Jupyter Notebook已准备就绪!

在Notebook主页上,点击“新建”以显示下拉菜单(图2)。

图2:“新文件”下拉菜单,您可以在其中选择可用的类型

选择Python3后在出现的窗口(图3)中,点击“无标题”以命名您的Notebook。

图3:新文件窗口,您可以在这里开始创建Python项目

内核和单元

为了成功使用Jupyter Notebook,您需要了解两个术语:内核和单元。

在Jupyter领域,内核是一个计算引擎,它执行Jupyter Notebook文档中含有的代码。单元构成了Notebook的主体。您可以在单元中编写(或粘贴)内容。有两种类型的单元:代码单元和Markdown单元。您可能猜到了,代码单元含有代码,Markdown单元含有使用Markdown格式化的文本。

Hello, World!

不妨使用熟悉的“Hello,World!”Python代码创建新的代码单元。在主窗口中,您会看到空单元,输入:

  1. print(“Hello New Stack”)

您已创建了第一个代码单元(图4)。

图4:我们的Hello World Python程序已准备好运行

如果点击“运行”按钮,内核将执行代码,并在单元下输出结果(图5)。

图5:Hello,New Stack!

代码运行后,会在第一个单元下方创建新的单元,因此您可以继续创建。

处理数组

不妨看看另一种类型的示例。还记得在安装过程中,我们是否包含了numpy?Numpy是一个Python库,添加了对大型多维数组的支持。不妨使用该库。

先导入该库,为此在新单元中输入以下内容:

  1. 1 import numpy as np
  2. 2 def square(x):
  3. 3    return x * x

点击“运行”以执行代码。现在我们可以将numpy引用为np,并在创建的任何其他单元中使用变量square。

接下来创建一个小型Python程序,它将计算变量的平方。在新单元中输入以下代码:

  1. 1 x = np.random.randint(1, 10)
  2. 2 y = square(x)
  3. 3 print('%d squared is %d' % (x, y))

点击“运行”,您将看到新程序的输出(图6)。

图6:6的平方当然是36

如果选择单元3并点击“运行”按钮,程序会再次运行,给出不同的结果。然后,单元将被标记为4(图7),因为这是您第四次点击“运行”按钮(Jupyter会为您跟踪此操作)。

图7:我们的新结果和新的单元编号

关闭Notebook

如果您关闭含有Jupyter Notebook的浏览器,会看到命令仍在运行。为了结束命令,按[Ctrl] +组合键。然后会问您是否要关闭Notebook服务器。输入y并按回车键,服务器会关闭。

Jupyter Notebook的好处是,它会自动保存您的项目。再次部署笔记本(使用命令jupyter notebook)。浏览器窗口打开后,您将看到已命名的笔记本(后跟.ipymb扩展名)。点击该名称,您会发现内容已保存,可以再次使用它。

恭喜,您已安装Jupyter Notebook并创建了一个新项目。想了解这个强大工具的更多信息,请查阅Jupyter Notebook官方文档。


妙蛙种子
4 声望1 粉丝

引用和评论

0 条评论