如何在Ubuntu22.04上为Python3设置JupyterNotebook

来自菜鸟教程
跳转至:导航、​搜索

介绍

Jupyter Notebook 提供了一个命令 shell,用于作为 Web 应用程序进行交互式计算。 该工具可用于多种语言,包括 Python、Julia、R、Haskell 和 Ruby。 它通常用于处理数据、统计建模和机器学习。

本教程将引导您设置 Jupyter Notebook 以在本地或从 Ubuntu 22.04 服务器运行,并教您如何连接和使用笔记本。 Jupyter 笔记本(或简称笔记本)是由 Jupyter Notebook 应用程序生成的文档,其中包含计算机代码和富文本元素(段落、方程式、图形、链接等),有助于呈现和共享可重复的研究。

在本指南结束时,您将能够使用在本地计算机或远程服务器上运行的 Jupyter Notebook 运行 Python 3 代码。

先决条件

要学习本教程,您将需要一个 Python 3 编程环境,或者

本教程中的所有命令都应以非 root 用户身份运行。 如果该命令需要 root 访问权限,它将在前面加上 sudoUbuntu 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 以了解更多信息。

从这里,您可能有兴趣阅读我们关于 时间序列可视化和预测 的系列文章。