固定链接 如何安装、运行和连接到远程服务器上的Jupyter Notebook

如何安装、运行和连接到远程服务器上的Jupyter Notebook

如何安装、运行和连接到远程服务器上的Jupyter Notebook

介绍

Jupyter Notebook 是一个开源的交互式 Web 应用程序,允许用户使用 40 多种编程语言编写和运行计算机代码,包括:Python、R、Julia 和 Scala。

来自 Project Jupyter 的产品 — Jupyter Notebook 对于迭代编码非常有用,因为它允许您只编写一小段代码就运行它并返回结果。

Jupyter Notebook 提供了创建笔记本文档的功能,简称为 “笔记本”。从 Jupyter 笔记本创建的笔记是可共享的,是可重复的研究文档,其中包括丰富的文本元素、方程式、代码及其输出(图形,表格,交互式图)。笔记本还可以导出为原始代码文件,HTML 或 PDF 文档,或用于创建交互式幻灯片或网页。

本文将向您介绍如何在 Ubuntu 18.04 Web 服务器上安装和配置 Jupyter Notebook 应用程序,以及如何从本地计算机连接到它。

此外,我们还将讨论如何使用 Jupyter Notebook 来运行 Python 代码。

先决条件

要完成本教程,您需要:

  • 一个 Ubuntu 18.04 服务器实例。此服务器必须具有 sudo 权限且配置了防火墙的非 root 用户。按照我们的初始服务器设置指南进行设置。
  • Python 3,pip 和 venv 服务器上安装的 Python 模块。。
  • 在您的本地计算机上运行的现代 Web 浏览器,您将使用它访问 Jupyter Notebook。

此外,如果您的本地计算机运行的是 Windows 系统,则需要安装 PuTTY 才能建立到服务器的 SSH 隧道。

第 1 步 – 安装 Jupyter Notebook

笔记本会用于编写、运行和查看小代码片段,因此需要设置编程语言支持。

Jupyter Notebook 使用特定语言的内核 — 一个运行和内省代码的计算机程序。Jupyter Notebook 有许多不同语言的内核,默认为 IPython。在本教程中,您将通过设置 Jupyter Notebook ,来通过 IPython 内核运行 Python 代码。

此时您应该安装了 Python 3、pip 和虚拟环境。将虚拟环境命名为 “ my_env”,但我们可以随意更改它。

首先激活虚拟环境:

在此之后,您的提示将以您的环境名称为前缀。

现在您已进入虚拟环境,请继续安装 Jupyter Notebook:

如果安装成功,您将看到类似于以下内容的输出:

此时,Jupyter Notebook 已安装到您的服务器上。接下来,我们将介绍如何运行该应用程序。

第 2 步 – 运行 Jupyter 笔记本

必须从 VPS 运行 Jupyter Notebook,以便我们可以使用 SSH 隧道和 Web 浏览器从本地计算机连接到它。

要运行 Jupyter Notebook 服务器,需要输入以下命令:

运行此命令后,您将看到类似于以下内容的输出:

您可能会在输出中注意到存在 No web browser found 警告,这是可以预料到的,因为应用程序在服务器上运行,您可能还没有安装 Web 浏览器。

退出 Jupyter 笔记本后,按 CTRL+C 之后 点击 y,接着点击 ENTER 确认:

使用 exit 命令注销服务器:

此时您已经在服务器上成功运行 Jupyter Notebook 了。但是,为了访问应用程序并开始使用笔记本,您需要使用 SSH 隧道和本地计算机上的 Web 浏览器连接到应用程序。

第 3 步 – 使用 SSH 隧道连接到 Jupyter Notebook 应用程序

SSH 隧道是连接到服务器上运行的 Jupyter Notebook 应用程序的一种简单而快速的方法。安全 shell(通常称为 SSH)是一种网络协议,您可以通过不安全的网络安全地连接到远程服务器。

SSH 协议包括端口转发机制,允许您在服务器的特定端口上运行的某些应用程序,通过隧道传输到本地计算机上的特定端口。

之后我们将学习如何安全地 “转发” 在服务器上运行的 Jupyter Notebook 应用程序(8888 默认情况下在端口上)到本地计算机上的端口。

接下来将针对不同的系统展示建立 SSH 隧道的方法。

注意:可以使用 DigitalOcean Web 控制台设置和安装 Jupyter Notebook,但必须通过终端或 PuTTY 通过 SSH 隧道连接到应用程序。

使用 macOS 或 Linux 建立 SSH 隧道

如果您的本地计算机运行 Linux 或 macOS 系统,只需运行单个命令即可建立 SSH 隧道。

这是打开 SSH 连接的标准命令,但是当与 -L 指令一起使用时,可以将指定本地主机(即本地计算机)上的给定端口转发到远程主机上的给定主机和端口。这意味着在远程服务器上指定端口上运行的任何内容(8888:Jupyter Notebook 的默认端口)都将出现在本地计算机上的指定端口上(8000 在示例命令中)。

要建立自己的 SSH 隧道,请运行以下命令:

如果 8000 另一个进程正在使用,请随意将端口更改为您选择的端口。建议您使用大于或等于 8000 的端口,因为这些端口号不太可能被其他进程使用。确保包含您自己的服务器的 IP 地址和服务器的非 root 用户的名称:

如果此命令没有错误,它将使您登录到远程服务器并激活虚拟环境:

然后运行 Jupyter Notebook 应用程序:

要连接到 Jupyter Notebook,请使用 Web 浏览器导航到本地主机上的本地端口:http://localhost:8000

现在您已连接到 Jupyter Notebook。

使用 Windows 和 PuTTY 建立 SSH 隧道

PuTTY 是 Windows 的开源 SSH 客户端,可用于连接到您的服务器。在 Windows 计算机上下载并安装 PuTTY 后,打开程序并输入服务器 URL 或 IP 地址,如下所示:

接下来,单击左窗格底部的 + SSH,然后单击隧道。在此窗口中,输入要用于在本地计算机上访问 Jupyter 的端口(8000)。建议使用大于或等于 8000 的端口,因为这些端口号不太可能被其他进程使用。但是,如果已经由其他进程使用,需要重新选择其他未使用的端口号。

接下来,将目标设置为 localhost:8888,因为端口 8888 是运行 Jupyter Notebook 的端口。然后单击 “ 添加” 按钮,端口应出现在“ 转发端口”字段中:

最后,单击“ 打开”按钮,通过 SSH 将您的机器连接到服务器并打开隧道传输所需的端口。如果没有出现错误,请继续并激活您的虚拟环境:

然后运行 Jupyter Notebook:

接下来,导航到 Web 浏览器中的本地端口,来连接到服务器上运行的 Jupyter Notebook 实例。

现在您已连接到 Jupyter Notebook。

第4步 – 使用 Jupyter Notebook

当通过 Web 浏览器访问时,Jupyter Notebook 提供了一个 Notebook Dashboard,它充当文件浏览器,提供了创建、编辑和浏览笔记本的界面。

浏览器将这些笔记本视为文档(以 .ipynb 文件扩展名保存),您可以使用任意数量的单元格填充这些文档。每个单元格都包含一个交互式文本编辑器,可用于运行代码或编写渲染文本。

此外,您可以编写和运行方程,包括其他富媒体,如图像或互动情节,它们可以以各种格式导出和共享(.ipyb,.pdf,.py)。

为了说明其中的一些功能,我们将从 Notebook Dashboard 创建一个笔记本文件,编写一个带有等式的简单文本板,并运行一些基本的 Python 3 代码。

此时,您应该使用 SSH 隧道连接到服务器,并从服务器启动 Jupyter Notebook 应用程序。您将看到一个登录页面:

在顶部的密码或令牌字段中,输入 Jupyter Notebook 从服务器运行后输出中显示的令牌:

或者,您可以从终端输出中复制该 URL 并将其粘贴到浏览器的地址栏中,Jupyter 笔记本将自动地显示存储在目录中的所有文件和文件夹。

单击 Notebook Dashboard 右上角的 New,然后单击 Python 3,创建一个新的笔记本文件:

在新笔记本中,通过单击顶部导航栏上的 “ 单元格” -> “ 单元格类型” – >“ Markdown”,将第一个单元格更改为接受 Markdown 语法。此单元格类型还允许您在 LaTeX 中编写方程式。例如,在将其更改为 Markdown 后,在单元格中键入以下内容:

要将降价转换为富文本格式,请按 CTRL + ENTER ,会出现以下结果:

您可以使用降价单元格做笔记并记录您的代码。

现在,让我们实现一个简单的等式并打印结果。单击插入, 在下面插入单元格。在此新单元格中,输入以下代码:

点击 CTRL + ENTER 运行该代码,结果如下:

这些是使用 Jupyter Notebook 可以做些什么的一些相对简单的例子。但是,Jupyter Notebook 是一个非常强大的应用程序,具有许多潜在的用例。您可以添加一些 Python 库并像使用其他 Python 开发环境一样使用它。

结论

您已经能够使用在远程服务器上运行的 Jupyter Notebook 来编写可重现的 Python 代码和文本。

要快速浏览 Jupyter Notebook,请单击顶部导航栏中的 “ 帮助”,然后选择 “ 用户界面游览”,如下所示:

如果您有兴趣,我们建议您通过 Project Jupyter 文档了解有关 Jupyter Notebook 的更多信息。此外,您可以通过学习如何在 Python 3 中编写代码来构建您在本教程中学到的内容。

本文作者:倪开

您的留言将激励我们越做越好