介绍
Jupyter Notebook 提供了一个命令 shell,用于作为 Web 应用程序进行交互式计算。 该工具可用于多种语言,包括 Python、Julia、R、Haskell 和 Ruby。 它通常用于处理数据、统计建模和机器学习。
本教程将引导您设置 Jupyter Notebook 以在本地或从 Ubuntu 22.04 服务器运行,并教您如何连接和使用笔记本。 Jupyter 笔记本(或简称笔记本)是由 Jupyter Notebook 应用程序生成的文档,其中包含计算机代码和富文本元素(段落、方程式、图形、链接等),有助于呈现和共享可重复的研究。
在本指南结束时,您将能够使用在本地计算机或远程服务器上运行的 Jupyter Notebook 运行 Python 3 代码。
先决条件
要学习本教程,您将需要一个 Python 3 编程环境,或者
- 在您的 本地计算机 上,或
- 在 Ubuntu 服务器 上。
本教程中的所有命令都应以非 root 用户身份运行。 如果该命令需要 root 访问权限,它将在前面加上 sudo
。 Ubuntu 22.04 的初始服务器设置 解释了如何添加用户并授予他们 sudo 访问权限。
第 1 步 — 安装 Jupyter Notebook
在本节中,我们将使用 pip
安装 Jupyter Notebook。
激活要安装 Jupyter Notebook 的 Python 3 编程环境。 在我们的示例中,我们将其安装到 my_env
中,因此我们将确保我们在该环境的目录中并像这样激活它:
cd ~/environments . my_env/bin/activate
接下来,我们可以确保 pip
升级到最新版本:
pip install --upgrade pip
现在我们可以使用以下命令安装 Jupyter Notebook:
pip install jupyter
此时 Jupyter Notebook 已安装到当前的编程环境中。
下一个可选步骤适用于使用 SSH 隧道连接 Web 界面的服务器安装的用户。
第 2 步(可选)- 使用 SSH 隧道连接到服务器安装
如果您在服务器上安装了 Jupyter Notebook,在本节中,我们将学习如何使用 SSH 隧道连接到 Jupyter Notebook Web 界面。 由于 Jupyter Notebook 将在服务器上的特定端口上运行(例如 :8888
、:8889
等),因此 SSH 隧道使您能够安全地连接到服务器的端口。
请注意,这些说明旨在从本地终端窗口运行,即,不是您连接到服务器的那个窗口。
SSH 隧道
如果您使用的是 Windows,则需要安装 OpenSSH 版本才能从终端 ssh
。 如果您更喜欢在 PowerShell 中工作,可以按照 Microsoft 的文档 将 OpenSSH 添加到 PowerShell。 如果您希望有一个完整的 Linux 环境可用,您可以 设置 WSL,这是适用于 Linux 的 Windows 子系统,默认情况下将包括 ssh
。 最后,作为轻量级的第三个选项,您可以安装 Git for Windows,它提供了包含 ssh
命令的原生 Windows bash 终端环境。 这些中的每一个都得到了很好的支持,无论您决定使用哪个,都将归结为偏好。
如果您使用的是 Mac 或 Linux,您的终端中已经有 ssh
命令可用。
创建 SSH 隧道的步骤类似于 如何使用 SSH 连接到 Droplets 指南,除了在 ssh
命令中添加了其他参数。 本小节将概述 ssh
命令中成功隧道所需的附加参数。
SSH 隧道可以通过在新的本地终端窗口中运行以下 SSH 命令来完成:
ssh -L 8888:localhost:8888 your_server_username@your_server_ip
ssh
命令打开一个 SSH 连接,但 -L
指定本地(客户端)主机上的给定端口将被转发到远程端(服务器)上的给定主机和端口。 这意味着无论在第二个端口号上运行什么(例如 服务器上的8888
)会出现在第一个端口号(例如 8888
)在本地计算机上。
如果您收到端口 8888
不可用的消息,您可以将其更改为低于 65535 的另一个任意端口号。 端口 8888 没有太大意义,但经常用于这样的演示。
server_username
是您的用户名(例如 sammy) 在您创建的服务器上,your_server_ip
是您服务器的 IP 地址。
例如,对于用户名 sammy
和服务器地址 203.0.113.0
,命令将是:
ssh -L 8888:localhost:8888 sammy@203.0.113.0
如果运行 ssh -L
命令后没有显示错误,您可以进入您的编程环境并运行 Jupyter Notebook:
jupyter notebook
您将收到带有 URL 的输出。 在本地计算机上的 Web 浏览器中,使用以 http://localhost:8888
开头的 URL 打开 Jupyter Notebook Web 界面。 确保包含令牌号,或在 http://localhost:8888
出现提示时输入令牌号字符串。
第 3 步 — 运行 Jupyter Notebook
安装 Jupyter Notebook 后,您可以在终端中运行它。 为此,请执行以下命令:
jupyter notebook
Jupyter Notebook 的活动日志将打印到终端。 当您运行 Jupyter Notebook 时,它会在特定端口号上运行。 您运行的第一个笔记本通常会在端口 8888
上运行。 要检查 Jupyter Notebook 正在运行的特定端口号,请参阅用于启动它的命令的输出:
Output[I NotebookApp] Serving notebooks from local directory: /home/sammy [I NotebookApp] 0 active kernels [I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ...
如果您在本地计算机(而不是服务器)上运行 Jupyter Notebook,则默认浏览器应该已打开 Jupyter Notebook Web 应用程序。 如果没有,或者如果您关闭了窗口,您可以导航到输出中提供的 URL,或者导航到 localhost:8888
进行连接。
每当您想停止 Jupyter Notebook 进程时,请按 Ctrl+C
,在出现提示时键入 Y
,然后按 Enter
确认。
您将收到以下输出:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed [I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook 现在不再运行。
第 4 步 — 使用 Jupyter Notebook
本节介绍了使用 Jupyter Notebook 的基础知识。 如果您当前没有运行 Jupyter Notebook,请使用 jupyter notebook
命令启动它。
您现在应该使用 Web 浏览器连接到它。 Jupyter Notebook 非常强大,有很多功能。 本节将概述一些基本功能,以帮助您开始使用笔记本。 Jupyter Notebook 将显示运行它的目录中的所有文件和文件夹,因此当您处理项目时,请确保从项目目录启动它。
要创建新的笔记本文件,请从右上角的下拉菜单中选择 New > Python 3:
这将打开一个笔记本。 我们现在可以在单元格中运行 Python 代码或将单元格更改为 markdown。 例如,通过单击顶部导航栏中的 Cell > Cell Type > Markdown 将第一个单元格更改为接受 Markdown。 我们现在可以使用 Markdown 写笔记,甚至可以将用 LaTeX 编写的方程式放在 $$
符号之间。 例如,在将其更改为 markdown 后,在单元格中键入以下内容:
# Simple Equation Let us now implement the following equation: $$ y = x^2$$ where $x = 2$
要将markdown变成富文本,按Ctrl+Enter
,结果应该如下:
您可以使用降价单元格来做笔记和记录您的代码。 让我们实现这个简单的方程并打印结果。 单击顶部单元格,然后按 Alt+Enter
在其下方添加一个单元格。 在新单元格中输入以下代码。
x = 2 y = x**2 print(y)
要运行代码,请按 Ctrl+Enter
。 您将收到以下结果:
您现在可以 导入模块 并像使用任何其他 Python 开发环境一样使用笔记本!
要关闭 Jupyter 笔记本服务器端,请返回您启动它的终端窗口,然后按 Ctrl+C。 这是结束终端进程的标准快捷方式,Jupyter 会在退出前提示您保存。
结论
恭喜! 您现在应该能够使用 Jupyter Notebook 在 Markdown 中编写可重现的 Python 代码和笔记。 要从界面中快速浏览 Jupyter Notebook,请从顶部导航菜单中选择 Help > User Interface Tour 以了解更多信息。
从这里,您可能有兴趣阅读我们关于 时间序列可视化和预测 的系列文章。