如何在 Debian 10 上用 Python 3 设置 Jupyter 笔记本

介绍

Jupyter Notebook提供了交互式计算的命令壳作为一个Web应用程序,这样你可以共享和与代码进行通信。该工具可以与多个语言使用,包括Python,Julia,R,Haskell和Ruby。

本教程将指导您通过设置Jupyter笔记本从Debian 10服务器运行,并教您如何连接和使用笔记本。Jupyter笔记本(或仅仅是笔记本)是由Jupyter笔记本应用程序制作的文档,其中包含计算机代码和丰富的文本元素(段落,方程式,数字,链接等),有助于呈现和共享可复制的研究。

在本指南结束时,您将能够使用 Jupyter 笔记本在远程 Debian 10 服务器上运行 Python 3 代码。

前提条件

要完成本指南,你应该有一个新的 Debian 10 服务器实例,有一个基本的防火墙和一个配置了 sudo 权限的非根用户。

步骤 1 — 安装Pip和Python标题

要开始这个过程,我们将从 Debian 存储库下载并安装我们需要的所有项目,我们将使用 Python 包管理器pip稍后安装额外的组件。

我们首先需要更新本地apt包索引,然后下载和安装包:

1sudo apt update

接下来,安装pip和Python标题文件,这些文件被Jupyter的一些依赖使用:

1sudo apt install python3-pip python3-dev

Debian 10(Buster)配备了Python 3.7预安装。

我们现在可以继续设置一个Python虚拟环境,我们将安装Jupyter。

第2步:为Jupyter创建一个Python虚拟环境

现在我们有Python 3,它的标题文件和pip准备好了,我们可以创建一个Python虚拟环境,以便更容易管理。

要做到这一点,我们首先需要访问virtualenv命令,我们可以使用pip来安装它。

升级pip并通过键入安装包:

1sudo -H pip3 install --upgrade pip
2sudo -H pip3 install virtualenv

安装了virtualenv,我们可以开始形成我们的环境,创建并移动到一个目录,在那里我们可以保留我们的项目文件:

1mkdir ~/myprojectdir
2cd ~/myprojectdir

在项目目录中,通过键入创建一个Python虚拟环境:

1virtualenv myprojectenv

这将创建一个名为myprojectenv的目录在你的myprojectdir目录中。内部,它将安装Python的本地版本和Pip的本地版本。

在我们安装 Jupyter 之前,我们需要激活虚拟环境,您可以通过键入:

1source myprojectenv/bin/activate

您的提示应更改,以表示您现在在Python虚拟环境中运行,它将看起来像这样: (myprojectenv)user@host:~/myprojectdir$

您现在已经准备好在这个虚拟环境中安装Jupyter。

步骤 3 – 安装 Jupyter

如果您的虚拟环境是活跃的,请使用本地实例pip安装Jupyter:

<$>[注] 注: 当虚拟环境被激活时(当您的提示有(myprojectenv)之前),使用pip而不是pip3,即使您正在使用Python 3. 虚拟环境的副本的工具总是被命名为pip,无论Python版本。

1pip install jupyter

此时,您已经成功安装了运行 Jupyter 所需的所有软件,现在我们可以启动笔记本服务器。

第4步:运行Jupyter笔记本

您现在拥有运行Jupyter笔记本所需的一切! 要运行它,请执行以下命令:

1jupyter notebook

Jupyter 笔记本的活动日志将打印到终端。当您运行 Jupyter 笔记本时,它将运行在特定端口号上。您运行的第一个笔记本通常会使用端口8888

 1[secondary_label Output]
 2[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
 3[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/myprojectdir
 4[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
 5[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
 6[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
 7[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
 8[C 21:23:21.361 NotebookApp]
 9
10    Copy/paste this URL into your browser when you connect for the first time,
11    to login with a token:
12        http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

如果您在本地 Debian 计算机上运行 Jupyter 笔记本(而不是在 Droplet 上),您可以简单地导航到显示的 URL 以连接到 Jupyter 笔记本。

在此时,您可以保持 SSH 连接打开并保持 Jupyter 笔记本运行,或者您可以退出应用程序并在设置 SSH 隧道后重新运行该应用程序。让我们保持简单并停止 Jupyter 笔记本流程。一旦我们有 SSH 隧道工作,我们将再次运行它。

1[secondary_label Output]
2[C 21:28:28.512 NotebookApp] Shutdown confirmed
3[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

我们现在将设置一个SSH隧道,以便我们可以访问笔记本。

步骤 5 — 使用 SSH 隧道连接到服务器

在本节中,我们将学习如何使用SSH隧道连接到Jupyter笔记本的Web接口.由于Jupyter笔记本将在服务器上运行特定端口(如 :8888, :8889等),SSH隧道可以让你安全地连接到服务器的端口。

下面的两个子部分描述了如何从 1) Mac 或 Linux 和 2) Windows 创建 SSH 隧道,请参阅本地计算机的子部分。

SSH隧道与Mac或Linux

如果您使用的是 Mac 或 Linux,创建 SSH 隧道的步骤类似于使用 SSH 登录您的远程服务器,但ssh命令中有额外的参数。

SSH隧道可以通过在新的本地终端窗口中运行以下SSH命令来完成:

1[environment local]
2ssh -L 8888:localhost:8888 your_server_username@your_server_ip

ssh命令打开 SSH 连接,但 -L 指示本地 (客户端) 主机上的某个端口要转发到给定的主机和偏远端口 (服务器) 的端口。

可选地将端口8888更改为您选择的端口,以避免另一个流程使用已使用的端口。

「server_username」是您所创建的服务器上的用户名(例如 sammy),而「your_server_ip」是您的服务器的IP地址。

例如,对于用户名sammy和服务器地址203.0.113.0,命令将是:

1[environment local]
2ssh -L 8888:localhost:8888 [email protected]

如果在运行ssh -L命令后没有出现错误,您可以进入您的编程环境并运行Jupyter笔记本:

1jupyter notebook

从本地计算机上的 Web 浏览器中,打开 Jupyter 笔记本 Web 界面,使用以 http://localhost:8888 开始的 URL。 确保标记号包含,或者在提示到 http://localhost:8888 时输入标记号串。

SSH 隧道与 Windows 和 Putty

如果您使用的是 Windows,则可以使用 Putty创建 SSH 隧道。

首先,如下所示,输入服务器URL或IP地址作为主机名称:

Set Hostname for SSH Tunnel

接下来,点击左下角的 SSH以扩展菜单,然后点击 隧道. 输入本地端口号以便在本地计算机上访问 Jupyter。 选择8000或更高,以避免其他服务使用的端口,并将目的地设置为localhost:8888,其中:8888是运行 Jupyter 笔记本的端口号。

现在点击 ** 添加 ** 按钮,并且该端口应该出现在 ** 转移端口** 列表中:

Forwarded ports list

最后,点击打开按钮以通过SSH连接到服务器并隧道所需的端口。在网页浏览器中导航到http://localhost:8000(或您选择的任何端口)以连接到运行在服务器上的Jupyter笔记本。 确保标记号包含,或者在提示到http://localhost:8000时输入标记号串。

第6步:使用Jupyter笔记本

本节介绍了使用Jupyter笔记本的基本知识. 如果您目前没有运行Jupyter笔记本,请使用jupyter笔记本命令启动。

您现在应该使用Web浏览器连接到它。Jupyter笔记本是一个具有许多功能的非常强大的工具。本节将概述一些基本功能,以便您开始使用笔记本。Jupyter笔记本将显示它所运行的目录中的所有文件和文件夹,所以当您在项目上工作时,请确保从项目目录开始。

要创建一个新笔记本文件,请从右上角的推卸菜单中选择 > Python 3:

Create a new Python 3 notebook

这将打开笔记本. 现在我们可以在单元格中运行 Python 代码或更改单元格以标记。 例如,通过从顶部导航栏点击 Cell > Cell Type > Markdown来更改第一个单元格以接受标记。

1# First Equation
2
3Let us now implement the following equation:
4$$ y = x^2$$
5
6where $x = 2$

要将标记转换为丰富的文本,请按CTRL+ENTER,结果应如下:

results of markdown

您可以使用标记单元格来创建笔记并记录您的代码。让我们执行该方程式并打印结果。单击顶部单元格,然后按ALT+ENTER来添加下面的单元格。

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

要运行代码,请按CTRL+ENTER,您将收到以下结果:

first equation results

您现在有能力 导入模块并像任何其他Python开发环境一样使用笔记本!

结论

在此时,您应该能够使用Jupyter笔记本在Markdown中编写可复制的Python代码和笔记本。 要从接口中快速浏览Jupyter笔记本,请从上面的导航菜单中选择 Help > User Interface Tour以获取更多信息。

从这里,您可以通过阅读 Python 中的 Pandas 和 Jupyter 笔记本的数据分析和可视化开始数据分析和可视化项目。

Published At
Categories with 技术
comments powered by Disqus