介绍
Jupyter Notebook 提供了一个用于作为Web应用程序的交互式计算的命令shell。该工具可以与多种语言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用于处理数据,统计建模和机器学习。 本教程将引导您设置Jupyter Notebook以在本地或从Ubuntu 16.04服务器运行,以及教您如何连接和使用笔记本。 Jupyter笔记本(或简称笔记本)是由Jupyter Notebook应用程序生成的文档,包含计算机代码和丰富的文本元素(段落,方程,数字,链接等),有助于呈现和共享可再现的研究。 在本指南结束时,您将能够使用运行在本地机器或远程服务器上的Jupyter Notebook运行Python 3代码。先决条件
要遵循本教程,您将需要一个Python 3编程环境- 在本地机器上 ,或
- 在Ubuntu 16.04服务器上 。
sudo
。
使用Ubuntu 16.04的初始服务器设置
说明如何添加用户并授予其sudo访问权限。
第1步 - 安装Jupyter Notebook
使用以下命令安装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
处提示时输入令牌编号字符串。
第3步 - 运行Jupyter Notebook
安装Jupyter Notebook后,您可以在终端中运行它。为此,请执行以下命令:jupyter notebook
Jupyter Notebook的活动日志将打印到终端。当您运行Jupyter Notebook时,它会在特定的端口号上运行。您运行的第一个笔记本计算机通常在端口
8888
上运行。要检查Jupyter Notebook正在运行的特定端口号,请参阅用于启动它的命令的输出:
Output[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).
...
如果启动过程中出现如下所示,则默认为在8889端口上运行。
[I 14:31:24.987 NotebookApp] The port 8888 is already in use, trying another port.
Known labextensions:
[I 14:31:25.025 NotebookApp] Running the core application with no additional extensions or settings
[I 14:31:25.028 NotebookApp] 0 active kernels
[I 14:31:25.028 NotebookApp] The Jupyter Notebook is running at: http://localhost:8889/
[I 14:31:25.028 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
确认。 您将收到以下输出:
Output[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
:

$$
符号之间。例如,在将其更改为markdown后,在单元格中键入以下内容:
# Simple Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
要将markdown转换为富文本格式,请按
CTRL+ENTER
,以下应为结果:

ALT+ENTER
在其下添加一个单元格。在新单元格中输入以下代码。
x = 2
y = x**2
print(y)
要运行代码,请按
CTRL+ENTER
。您将收到以下结果:
