介绍
Jupyter Notebook是一个开源的Web应用程序,允许您创建和共享交互式代码,可视化和更多。这个工具可以与多个编程语言,包括Python,Julia,R,Haskell和Ruby一起使用。
Jupyter笔记本(或仅仅是笔记本
)是由Jupyter笔记本应用程序生产的文档,包含计算机代码和丰富的文本元素(段落,方程式,数字,链接等),有助于呈现和分享可重复的研究,因此它们可以作为一个很好的工具,用于数据驱动或基于编程的演示,或作为一种教学工具。
本教程将指导您通过设置Jupyter笔记本从Ubuntu 20.04服务器运行,以及展示如何通过隧道连接和使用本地机器的笔记本。
前提条件
要完成本指南,你应该有一个新的Ubuntu 20.04服务器实例,有一个基本的防火墙和一个非根用户与sudo权限配置。
步骤 1 - 设置 Python
要开始这个过程,我们将从Ubuntu存储库中安装我们对Python编程环境所需的依赖性。Ubuntu 20.04附带Python 3预安装。
我们首先需要更新本地apt
包索引,然后下载和安装包:
1sudo apt update
接下来,安装Pip和Python标题文件,这些文件被Jupyter的一些依赖使用:
1sudo apt install python3-pip python3-dev
我们现在可以继续设置一个Python虚拟环境,我们将安装Jupyter。
第2步:为Jupyter创建一个Python虚拟环境
现在我们已经有了Python 3,它的标题文件,并准备好了,我们可以创建一个Python虚拟环境来管理我们的项目,我们将在这个虚拟环境中安装Jupyter。
要做到这一点,我们首先需要访问virtualenv
命令,我们可以与 pip 一起安装。
升级 pip 并通过键入安装包:
1sudo -H pip3 install --upgrade pip
2sudo -H pip3 install virtualenv
-H
旗确保安全策略将家庭
环境变量设置为目标用户的家庭目录。
安装了virtualenv
,我们可以开始创建我们的环境,创建并移动到一个目录,在那里我们可以保留我们的项目文件,我们将称之为my_project_dir
,但你应该使用一个对你有意义的名称,以及你正在工作的内容。
1mkdir ~/my_project_dir
2cd ~/my_project_dir
在项目目录中,我们将创建一个Python虚拟环境,为本教程的目的,我们将称之为my_project_env
,但你应该称之为与你的项目相关的东西。
1virtualenv my_project_env
这将创建一个名为my_project_env
的目录在你的my_project_dir
目录中。里面,它将安装Python的本地版本和Pip的本地版本。
在我们安装 Jupyter 之前,我们需要激活虚拟环境,您可以通过键入:
1source my_project_env/bin/activate
您的命令提示应更改,以表示您现在在Python虚拟环境中运行。
在此时刻,你已经准备好在这个虚拟环境中安装Jupyter。
步骤 3 – 安装 Jupyter
如果您的虚拟环境是活跃的,请使用Pip的本地实例安装Jupyter。
<$>[注]
注: 当虚拟环境被激活时(当您的提示具有(my_project_env)
之前),使用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/my_project_dir
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
如果您在本地计算机上运行 Jupyter 笔记本 (而不是服务器),则可以导航到显示的 URL 以连接到 Jupyter 笔记本. 如果您在服务器上运行 Jupyter 笔记本,则需要使用 SSH 隧道连接到服务器,如下节所述。
在此时,您可以保持 SSH 连接打开并保持 Jupyter 笔记本运行,或者您可以退出应用程序并在设置 SSH 隧道后重新运行该应用程序。让我们选择停止 Jupyter 笔记本流程。
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 笔记本的数据分析和可视化开始数据分析和可视化项目。