介绍
IPython是Python的交互式命令行界面。 Jupyter Notebook为许多语言提供了一个交互式Web界面,包括IPython。
本文将引导您完成设置服务器以运行Jupyter Notebook,以及教您如何连接和使用笔记本。 Jupyter笔记本(或简称笔记本)是由Jupyter Notebook应用程序生成的文档,它包含计算机代码(例如Python)和丰富的文本元素(段落,方程,数字,链接等),有助于展示可重复的研究。
在本指南结束时,您将能够使用运行在远程服务器上的Ipython和Jupyter Notebook运行Python 2.7代码。 为了本教程的目的,使用Python 2(2.7.x),因为许多数据科学,科学计算和高性能计算库支持2.7而不是3.0+。
先决条件
要遵循本教程,您需要以下内容:
- Ubuntu 16.04 Droplet
- 使用sudo特权的非root用户( 与Ubuntu 16.04初始服务器设置介绍了如何设置起来。)
本教程中的所有命令都应以非root用户身份运行。 如果需要该命令的root访问权限,它会在前面加sudo
。 与Ubuntu 16.04初始服务器设置介绍了如何添加用户,并给他们sudo访问。
第1步 - 安装Python 2.7和Pip
在本节中,我们将安装Python 2.7和Pip。
首先,更新系统的包索引。 这将确保旧的或过时的包不会干扰安装。
sudo apt-get update
接下来,安装Python 2.7,Python Pip和Python Development:
sudo apt-get -y install python2.7 python-pip python-dev
安装python2.7
将更新到最新版本的Python 2.7,而python-pip
将安装Pip这使我们能够管理Python包,我们想用。 有些Jupyter的依赖,可能需要编译,在这种情况下,你需要编译Python的C-扩展的能力,所以我们安装python-dev
为好。
要验证您是否已安装python:
python --version
这将输出:
OutputPython 2.7.11+
根据最新版本的Python 2.7,输出可能不同。
您还可以使用以下命令检查是否安装了pip:
pip --version
您应该类似于以下内容:
Outputpip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
类似地,根据你的pip版本,输出可能略有不同。
第2步 - 安装Ipython和Jupyter Notebook
在本节中,我们将安装Ipython和Jupyter Notebook。
首先,安装Ipython:
sudo apt-get -y install ipython ipython-notebook
现在我们可以继续安装Jupyter Notebook:
sudo -H pip install jupyter
根据在Ubuntu apt-get存储库中的pip的版本,您可能会在尝试安装Jupyter时收到以下错误:
OutputYou are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
如果是这样,你可以使用pip将pip升级到最新版本:
sudo -H pip install --upgrade pip
升级pip,然后尝试再次安装Jupyter:
sudo -H pip install jupyter
第3步 - 运行Jupyter Notebook
您现在拥有运行Jupyter Notebook所需的一切! 要运行它,请执行以下命令:
jupyter notebook
如果你在安装了JavaScript的系统上运行Jupyter,它仍然会运行,但它可能会给你一个错误,指出Jupyter Notebook需要JavaScript:
OutputJupyter Notebook requires JavaScript.
Please enable it to proceed.
...
要忽略错误,你可以按Q
,然后按Y
确认。
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).
如果你正在运行一个本地的Linux计算机(不在一个Droplet)上Jupyter笔记本电脑,你可以简单地浏览到localhost :8888
连接到笔记本Jupyter。 如果您在Droplet上运行Jupyter Notebook,则需要使用SSH隧道连接到服务器,如下一节所述。
此时,您可以保持SSH连接打开并保持Jupyter Notebook运行,或者可以退出应用程序,并在设置SSH隧道后重新运行它。 让我们保持简单,停止Jupyter Notebook过程。 一旦我们有SSH隧道工作,我们将再次运行它。 要停止Jupyter笔记本电脑过程中,按CTRL+C
,类型Y
,并创下ENTER
确认。 将显示以下内容:
Output[C 12:32:23.792 NotebookApp] Shutdown confirmed
[I 12:32:23.794 NotebookApp] Shutting down kernels
第4步 - 使用SSH隧道连接到服务器
在本节中,我们将学习如何使用SSH隧道连接到Jupyter Notebook Web界面。 由于Jupyter笔记本电脑上的Droplet的特定端口上运行(如:8888
, :8889
等),SSH隧道可以连接到Droplet的港口安全。
接下来的两个小节描述如何创建SSH隧道从1)Mac或Linux和2)Windows。 请参阅本地计算机的子部分。
SSH使用Mac或Linux进行隧道传输
如果您使用的是Mac或Linux,用于创建一个SSH隧道的步骤类似于如何使用Linux或Mac使用SSH密钥与DigitalOceanDroplet指南除了有在添加其他参数ssh
命令。 本小节将概述中所需的其他参数ssh
命令隧道成功。
SSH隧道可以通过运行以下SSH命令来完成:
ssh -L 8000:localhost:8888 your_server_username@your_server_ip
该ssh
命令打开一个SSH连接,但-L
指定本地(客户端)主机上的指定端口将被转发到远程侧(Droplet)给定主机和端口。 这意味着,无论在第二端口号上运行(即8888
)上的Droplet会出现在第一端口号(即8000
在本地计算机上)。 你应该改变8888
到Jupyter笔记本电脑上运行的端口。 (可选)更改端口8000
到您选择的一个(例如,如果8000
是由另一个进程使用)。 使用端口大于或等于8000
(即8001
, 8002
等),以避免使用的端口已经被另一个进程使用。 server_username
是你在其中创建和Droplet的用户名(如森美) your_server_ip
是的IP地址你的Droplet。 例如,对于用户名sammy
和服务器地址111.111.111.111
,则命令为:
ssh -L 8000:localhost:8888 sammy@111.111.111.111
如果运行后没有错误显示出来ssh -L
命令,你可以运行Jupyter笔记本:
jupyter notebook
现在,从本地计算机上的Web浏览器,打开Jupyter笔记本Web界面与http://localhost: 8000
(或任何端口您选择号码)。
SSH隧道与Windows和Putty
如果您使用的是Windows,你也可以很容易地创建一个使用PuTTY简列如一个SSH隧道如何使用SSH密钥用PuTTY上DigitalOceanDroplet(Windows用户) 。
首先,输入服务器URL或IP地址作为主机名,如图所示:
接下来,单击SSH左侧窗格底部展开菜单,然后单击隧道 。 输入用于在本地计算机上访问Jupyter的本地端口号。 选择8000
或更大(即8001
, 8002
等),以避免由其它服务使用的端口,并且设置目的地为localhost: 8888
,其中:8888
是Jupyter手提电脑上运行的端口的数量。 现在,单击Add按钮,端口应该出现在转发端口列表:
最后,单击打开按钮通过SSH隧道所需的端口连接到服务器。 导航到http://localhost: 8000
在Web浏览器(或任何你选择的端口)连接到服务器上运行Jupyter笔记本。
第5步 - 使用Jupyter Notebook
本节讨论使用Jupyter Notebook的基础知识。 到这一点,你应该有Jupyter Notebook运行,你应该使用网络浏览器连接到它。 Jupyter笔记本是非常强大,有很多功能。 本节将概述几个基本功能,让您开始使用笔记本。 自动,Jupyter Notebook将显示从其运行的目录中的所有文件和文件夹。
要创建一个新的笔记本文件,请从右上角的下拉菜单中选择New> 的Python 2:
这将打开一个笔记本。 我们现在可以在单元格中运行Python代码或将单元格更改为markdown。 例如,更改第一个单元格通过点击顶部导航栏中细胞 > 细胞类型 > 减价接受降价。 现在,我们可以编写使用降价笔记,甚至把他们之间包括写在LaTeX的公式$$
符号。 例如,在将其更改为markdown后,在单元格中键入以下内容:
# Simple Equation
Let us now implement the following equation:
$$ y = x^2$$
where $x = 2$
要打开降价到丰富的文本,按CTRL+ENTER
,下面应该是结果:
您可以使用markdown单元格来记录和记录您的代码。 让我们实现那个简单的方程并打印结果。 选择插入 > 插入单元格下方插入和单元格,输入以下代码:
x = 2
y = x*x
print y
要运行代码,按CTRL+ENTER
。 以下应该是结果:
您现在可以像使用任何其他Python开发环境一样,包括库和使用笔记本。
结论
恭喜! 你现在应该能够使用运行在Droplet上的Jupyter笔记本使用markdown编写可重现的Python代码和注释。 为了得到从顶部导航菜单Jupyter笔记本,选择帮助 > 用户界面游的快速浏览。