介绍
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地址作为主机名称:
接下来,点击左下角的 SSH以扩展菜单,然后点击 隧道. 输入本地端口号以便在本地计算机上访问 Jupyter。 选择8000
或更高,以避免其他服务使用的端口,并将目的地设置为localhost:8888
,其中:8888
是运行 Jupyter 笔记本的端口号。
现在点击 ** 添加 ** 按钮,并且该端口应该出现在 ** 转移端口** 列表中:
最后,点击打开
按钮以通过SSH连接到服务器并隧道所需的端口。在网页浏览器中导航到http://localhost:8000
(或您选择的任何端口)以连接到运行在服务器上的Jupyter笔记本。 确保标记号包含,或者在提示到http://localhost:8000
时输入标记号串。
第6步:使用Jupyter笔记本
本节介绍了使用Jupyter笔记本的基本知识. 如果您目前没有运行Jupyter笔记本,请使用jupyter笔记本
命令启动。
您现在应该使用Web浏览器连接到它。Jupyter笔记本是一个具有许多功能的非常强大的工具。本节将概述一些基本功能,以便您开始使用笔记本。Jupyter笔记本将显示它所运行的目录中的所有文件和文件夹,所以当您在项目上工作时,请确保从项目目录开始。
要创建一个新笔记本文件,请从右上角的推卸菜单中选择 新 > Python 3:
这将打开笔记本. 现在我们可以在单元格中运行 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
,结果应如下:
您可以使用标记单元格来创建笔记并记录您的代码。让我们执行该方程式并打印结果。单击顶部单元格,然后按ALT+ENTER
来添加下面的单元格。
1x = 2
2y = x**2
3print(y)
要运行代码,请按CTRL+ENTER
,您将收到以下结果:
您现在有能力 导入模块并像任何其他Python开发环境一样使用笔记本!
结论
在此时,您应该能够使用Jupyter笔记本在Markdown中编写可复制的Python代码和笔记本。 要从接口中快速浏览Jupyter笔记本,请从上面的导航菜单中选择 Help > User Interface Tour以获取更多信息。
从这里,您可以通过阅读 Python 中的 Pandas 和 Jupyter 笔记本的数据分析和可视化开始数据分析和可视化项目。