如何在Python 3中设置Jupyter Notebook

本教程将引导您设置Jupyter Notebook以在本地或从Ubuntu 16.04服务器运行,以及教您如何连接和使用笔记本。 Jupyter笔记本(或简称笔记本)是由Jupyter Notebook应用程序生成的文档,包含计算机代码和丰富的文本元素(段落,方程,数字,链接等),有助于呈现和共享可再现的研究。

介绍

Jupyter Notebook提供了一个用于作为Web应用程序的交互式计算的命令shell。该工具可以与多种语言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用于处理数据,统计建模和机器学习。 本教程将引导您设置Jupyter Notebook以在本地或从Ubuntu 16.04服务器运行,以及教您如何连接和使用笔记本。 Jupyter笔记本(或简称笔记本)是由Jupyter Notebook应用程序生成的文档,包含计算机代码和丰富的文本元素(段落,方程,数字,链接等),有助于呈现和共享可再现的研究。 在本指南结束时,您将能够使用运行在本地机器或远程服务器上的Jupyter Notebook运行Python 3代码。

先决条件

要遵循本教程,您将需要一个Python 3编程环境 本教程中的所有命令都应以非root用户身份运行。 如果命令需要root访问权限,则它之前将是sudo使用Ubuntu 16.04的初始服务器设置说明如何添加用户并授予其sudo访问权限。

第1步 - 安装Jupyter Notebook

在本节中,我们将使用pip安装Jupyter Notebook。 激活您要安装Jupyter Notebook的Python 3编程环境。在我们的示例中,我们将把它安装到my_env ,所以我们将确保我们在该环境的目录中,并激活它:
cd ~/environments
. my_env/bin/activate
接下来,我们可以确保pip升级到最新版本:
pip install --upgrade pip
现在我们可以使用以下命令安装Jupyter Notebook:
pip install jupyter
此时Jupyter Notebook被安装到当前的编程环境中。 下一个可选步骤是使用SSH隧道连接Web界面的服务器安装的步骤。

第2步(可选) - 使用SSH隧道连接到服务器安装

如果您在服务器上安装Jupyter Notebook,在本节中,我们将了解如何使用SSH隧道连接到Jupyter Notebook Web界面。由于Jupyter Notebook将在服务器上的特定端口(例如:8888:8889等)上运行,因此通过SSH隧道可以安全地连接到服务器的端口。 接下来的两个小节描述如何创建SSH隧道从1)Mac或Linux和2)Windows。请参阅本地计算机的子部分。

SSH使用Mac或Linux进行隧道传输

如果您使用Mac或Linux,创建SSH隧道的步骤类似于如何使用Linux或Mac的DigitalOcean Droplet如何使用SSH密钥指南,除了在ssh命令中添加了其他参数。 本小节将概述ssh命令成功隧道所需的附加参数。 SSH隧道可以通过在新的本地终端窗口中运行以下SSH命令来完成:
ssh -L 8888:localhost:8888 your_server_username@your_server_ip
ssh命令打开SSH连接,但-L指定本地(客户端)主机上的给定端口将转发到远程端(服务器)上的给定主机和端口。 这意味着服务器上第二个端口号(例如8888 )上运行的任何内容都将显示在本地计算机的第一个端口号(例如8888 )上。 可选择将端口8888更改为您选择的端口之一,以避免使用已由另一进程使用的端口。 server_username是您创建的服务器上的用户名(例如sammy ),而your_server_ip是服务器的IP地址。 例如,对于用户名sammy和服务器地址203.0.113.0 ,命令将是:
ssh -L 8888:localhost:8888 sammy@203.0.113.0
如果在运行ssh -L命令后没有显示错误,您可以进入编程环境并运行Jupyter Notebook:
jupyter notebook
您将收到带有URL的输出。从本地计算机上的Web浏览器中,使用以http://localhost:8888开头的URL打开Jupyter Notebook Web界面。 确保包含令牌编号,或者在http://localhost:8888处提示时输入令牌编号字符串。

SSH隧道与Windows和Putty

如果您使用的是Windows,则可以使用Putty创建SSH隧道,如在DigitalOcean Droplet(Windows用户)上如何使用SSH键和PuTTY中所述 。 首先,输入服务器URL或IP地址作为主机名,如图所示: 设置SSH隧道的主机名 接下来,单击左窗格底部的SSH以展开菜单,然后单击隧道 。 输入用于在本地计算机上访问Jupyter的本地端口号。 选择8000或更大,以避免其他服务使用的端口,并将目标设置为localhost: 8888其中:8888是运行Jupyter Notebook的端口号。 现在单击添加按钮,端口应该显示在转发的端口列表中: 转发端口列表 最后,单击打开按钮通过SSH连接到服务器,并隧道化所需的端口。 在Web浏览器中导航到http://localhost: 8000 (或您选择的任何端口)以连接到在服务器上运行的Jupyter Notebook。 确保包含令牌编号,或者在http://localhost:8000提示时输入令牌编号字符串。

第3步 - 运行Jupyter Notebook

安装Jupyter Notebook后,您可以在终端中运行它。为此,请执行以下命令:
jupyter notebook
Jupyter Notebook的活动日志将打印到终端。当您运行Jupyter Notebook时,它会在特定的端口号上运行。您运行的第一个笔记本计算机通常在端口8888上运行。要检查Jupyter Notebook正在运行的特定端口号,请参阅用于启动它的命令的输出:
[I NotebookApp] Serving notebooks from local directory: /home/sammy
[I NotebookApp] 0 active kernels 
[I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/
[I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
...
如果您在本地计算机(而不是服务器)上运行Jupyter Notebook,您的默认浏览器应已打开Jupyter Notebook web应用程序。如果没有,或者如果关闭窗口,您可以导航到输出中提供的URL,或导航到localhost :8888进行连接。 每当你想停止Jupyter Notebook进程时,按CTRL+C ,出现提示时键入Y ,然后ENTER确认。 您将收到以下输出:
[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
Jupyter Notebook现在不再运行。

第4步 - 使用Jupyter Notebook

本节讨论使用Jupyter Notebook的基础知识。如果您当前没有运行Jupyter Notebook,请使用jupyter notebook命令启动它。 您现在应该使用网络浏览器连接到它。 Jupyter笔记本是非常强大,有很多功能。本节将概述几个基本功能,让您开始使用笔记本。 Jupyter Notebook将显示它运行的目录中的所有文件和文件夹,所以当你在一个项目上工作时,确保从项目目录中启动它。 要创建新的笔记本文件,请从右上角的下拉菜单中选择新建 > Python 3创建一个新的Python 3笔记本 这将打开一个笔记本。我们现在可以在单元格中运行Python代码或将单元格更改为markdown。例如,通过从顶部导航栏中单击“ 单元格” >“ 单元格类型” >“ Markdown” ,将第一个单元格更改为接受Markdown。 我们现在可以使用Markdown写笔记,甚至包括用LaTeX写的方程,把它们放在$$符号之间。例如,在将其更改为markdown后,在单元格中键入以下内容:
# Simple Equation

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$
要将markdown转换为富文本格式,请按CTRL+ENTER ,以下应为结果: 结果的降价 您可以使用markdown单元格来记录和记录您的代码。让我们实现那个简单的方程并打印结果。单击顶部单元格,然后按ALT+ENTER在其下添加一个单元格。在新单元格中输入以下代码。
x = 2
y = x**2
print(y)
要运行代码,请按CTRL+ENTER 。您将收到以下结果: 简单方程结果 您现在可以导入模块并使用笔记本电脑,就像使用任何其他Python开发环境一样!

结论

恭喜!你现在应该能够使用Jupyter Notebook在Markdown中编写可重现的Python代码和注释。要从界面中快速浏览Jupyter Notebook,请从顶部导航菜单中选择帮助 > 用户界面导览 ,以了解详情。