自学内容网 自学内容网

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

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站

介绍

Jupyter Notebook 是一个开源的交互式 Web 应用程序,允许您使用 40 多种编程语言(包括 Python、R、Julia 和 Scala)编写和运行计算机代码。Jupyter 项目的产物,Jupyter Notebook 对于迭代编码非常有用,因为它允许您编写一小段代码,运行它,并返回结果。

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

本文将指导您如何在 Ubuntu 20.04 Web 服务器上安装和配置 Jupyter Notebook 应用程序,以及如何从本地计算机连接到它。此外,我们还将介绍如何使用 Jupyter Notebook 运行一些示例 Python 代码。

先决条件

要完成本教程,您需要:

  • 一个 Ubuntu 20.04 服务器实例。该服务器必须具有具有 sudo 权限的非根用户,并配置了防火墙。按照我们的初始服务器设置指南进行设置。
  • 在服务器上安装了 Python 3、pip 和 Python venv 模块。请按照我们的 Ubuntu 20.04 上安装 Python 3 并设置本地编程环境教程中的步骤 1 和 2 进行操作。
  • 运行在本地计算机上的现代 Web 浏览器,您将使用它来访问 Jupyter Notebook。

步骤 1 — 安装 Jupyter Notebook

由于笔记本用于编写、运行和查看小代码片段的结果,您首先需要设置编程语言支持。Jupyter Notebook 使用特定于语言的 内核,即运行和检查代码的计算机程序。Jupyter Notebook 支持多种不同语言的内核,默认为 IPython。在本教程中,您将设置 Jupyter Notebook 以通过 IPython 内核运行 Python 代码。

假设您已经按照先决条件部分中链接的教程进行了操作,您应该已经安装了 Python 3、pip 和虚拟环境。本指南中的示例遵循先决条件教程中使用的约定,该约定将虚拟环境命名为 “my_env”,但您可以随意更改名称。

首先激活虚拟环境:

source my_env/bin/activate

激活后,您的提示符将以您的环境名称为前缀。

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

python3 -m pip install jupyter

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

. . .
Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2

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

步骤 2 — 运行 Jupyter Notebook

Jupyter Notebook 必须从您的 VPS 上运行,以便您可以使用 SSH 隧道从本地计算机连接到它,并使用您喜爱的 Web 浏览器。

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

jupyter notebook

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

[I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret
[I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/sammy/environments
[I 19:46:22.365 NotebookApp] 0 active kernels
[I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at:
[I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser.
[C 19:46:22.367 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

您可能会注意到输出中有一个 No web browser found 警告。这是预期的,因为应用程序正在服务器上运行,您可能还没有在服务器上安装 Web 浏览器。本指南将在下一节介绍如何使用 SSH 隧道连接到服务器上的 Notebook。

现在,通过按 CTRL+C,然后按 y,最后按 ENTER 确认来退出 Jupyter Notebook:

Shutdown this notebook server (y/[n])? y
[C 20:05:47.654 NotebookApp] Shutdown confirmed
[I 20:05:47.654 NotebookApp] Shutting down 0 kernels

然后使用 exit 命令退出服务器:

exit

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

第三步 —— 使用 SSH 隧道连接到 Jupyter Notebook 应用程序

如果你在远程服务器上安装了 Jupyter Notebook,你将需要使用 SSH 隧道连接到 Jupyter Notebook 的 Web 接口。Jupyter Notebook 在远程服务器上的特定端口上运行其浏览器界面(例如 :8888:8889 等),默认情况下不会向更广泛的网络公开。SSH 隧道允许你安全地连接到远程服务器端口,然后可以使用本地 Web 浏览器访问这些端口。

请注意,这些说明旨在从本地终端窗口运行,即不是您连接到服务器的终端窗口。

SSH 隧道

如果你使用 Windows,你需要安装 OpenSSH 的一个版本,以便能够从终端运行 ssh。如果你更喜欢在 PowerShell 中工作,你可以按照微软的文档将 OpenSSH 添加到 PowerShell。如果你更愿意拥有一个完整的 Linux 环境,你可以设置 WSL(Windows Subsystem for Linux),它将默认包含 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 和服务器地址 your_server_ip,命令将是:

ssh -L 8888:localhost:8888 sammy@your_server_ip

如果这个命令没有出现错误,它将会将你登录到远程服务器。然后,激活虚拟环境:

source ~/environments/my_env/bin/activate

然后运行 Jupyter Notebook 应用程序:

jupyter notebook

要连接到 Jupyter Notebook,使用你喜欢的 Web 浏览器导航到本地主机上的本地端口:http://localhost:8000。现在你已经连接到 Jupyter Notebook,继续进行第四步,了解如何使用它。

第四步 —— 使用 Jupyter Notebook

通过 Web 浏览器访问 Jupyter Notebook 时,它提供了一个 Notebook 仪表板,作为文件浏览器,并为你提供了一个界面,用于创建、编辑和浏览笔记本。将这些笔记本视为文档(保存为 .ipynb 文件扩展名),你可以在其中填充任意数量的单独单元格。每个单元格都包含一个交互式文本编辑器,可用于运行代码或编写渲染的文本。此外,笔记本还允许你编写和运行方程式,包括其他丰富的媒体,如图像或交互式图表,并且可以以各种格式(.ipyb.pdf.py)导出和共享。为了说明其中一些功能,我们将从 Notebook 仪表板创建一个笔记本文件,编写一个带有方程式的文本板,并运行一些 Python 3 代码。

到目前为止,你应该已经使用 SSH 隧道连接到了服务器,并从服务器上启动了 Jupyter Notebook 应用程序。在导航到 http://localhost:8000 后,你将看到一个登录页面:

!Jupyter Notebook 登录界面

在顶部的密码或令牌字段中,输入在你从服务器上运行 jupyter notebook 后显示的令牌:

[I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/sammy
[I 20:35:17.314 NotebookApp] 0 active kernels
[I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at:
[I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser.
[C 20:35:17.316 NotebookApp]
. . .

或者,你可以从终端输出中复制该 URL,并粘贴到浏览器的地址栏中。

Jupyter Notebook 将自动显示在从中运行它的目录中存储的所有文件和文件夹。通过单击New,然后在 Notebook 仪表板的右上角单击Python 3,创建一个新的笔记本文件:

!创建一个新的 Python3 笔记本

在这个新的笔记本中,通过单击顶部导航栏上的Cell > Cell Type > Markdown,将第一个单元格更改为接受 markdown 语法。除了 markdown,这种单元格类型还允许你在 LaTeX 中编写方程式。例如,在将其更改为 markdown 后,将以下内容输入到单元格中:

方程式

现在让我们用 Python 实现以下方程式:
y = x 2 y = x^2 y=x2

其中 x = 2 x = 2 x=2

要将 markdown 转换为富文本,请按 `CTRL + ENTER`,结果应该如下所示:

!将示例方程式转换为富文本

您可以使用 markdown 单元格来记录和记录您的代码。

现在,让我们实现一个方程式并打印结果。单击 **插入** > **在下方插入单元格** 来插入一个单元格。在这个新单元格中,输入以下代码:

x = 2
y = x*x
print(y)

要运行代码,请按 `CTRL + ENTER`,结果将如下所示:

!解决示例方程式

这些是您可以在 Jupyter Notebook 中做的一些相对简单的示例。然而,它是一个非常强大的应用程序,具有许多潜在的用例。从这里开始,您可以添加一些 Python 库,并像在任何其他 Python 开发环境中一样使用笔记本。

## 结论

现在,您应该能够在远程服务器上使用 Jupyter Notebook 编写可重现的 Python 代码和文本。要快速了解 Jupyter Notebook,请单击顶部导航栏中的 **帮助**,然后选择 **用户界面导览**,如下所示:

!查找 Jupyter Notebook 帮助导览

如果您感兴趣,我们鼓励您通过阅读 Project Jupyter 文档来了解更多关于 Jupyter Notebook 的信息。此外,您可以通过学习如何在 Python 3 中编写代码来构建本教程中所学到的知识。

原文地址:https://blog.csdn.net/rubys007/article/details/142422620

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!