Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何安装,运行和连接到远程服务器上的Jupyter Notebook

如何安装,运行和连接到远程服务器上的Jupyter Notebook

原创
作者头像
尘埃
修改于 2018-11-21 03:37:12
修改于 2018-11-21 03:37:12
16.8K01
代码可运行
举报
运行总次数:1
代码可运行

介绍

Jupyter Notebook是一个开源的交互式Web应用程序,允许您使用40多种编程语言编写和运行计算机代码,包括PythonRJuliaScala。来自Project Jupyter的产品,Jupyter Notebook对于迭代编码非常有用,因为它允许您编写一小段代码,运行它并返回结果。

Jupyter Notebook提供了创建笔记本文档的功能,简称为“笔记本”。从Jupyter笔记本创建的笔记本是可共享的,可重复的研究文档,其中包括丰富的文本元素,方程式,代码及其输出(图形,表格,交互式图)。笔记本还可以导出为原始代码文件,HTML或PDF文档,或用于创建交互式幻灯片或网页。

本文将向您介绍如何在Ubuntu 18.04 Web服务器上安装和配置Jupyter Notebook应用程序以及如何从本地计算机连接到该应用程序。此外,我们还将讨论如何使用Jupyter Notebook来运行一些示例Python代码。

准备

要完成本教程,您需要:

  • 一个Ubuntu 18.04服务器实例。此服务器必须具有sudo权限且配置了防火墙的非root用户。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 在服务器上安装Python 3,pip和Python的 venv模块。通过遵循我们的如何在Ubuntu 18.04上安装Python 3和设置本地编程环境的教程中的步骤1和2来完成此操作。
  • 在您的本地计算机上运行的现代Web浏览器,您将使用它来访问Jupyter Notebook。

此外,如果您的本地计算机运行的是Windows,则需要在其上安装PuTTY才能建立到服务器的SSH隧道。

第1步 - 安装Jupyter Notebook

由于笔记本用于编写,运行和查看小代码片段的结果,因此首先需要设置编程语言支持。Jupyter Notebook使用特定于语言的内核,一个运行和内省代码的计算机程序。Jupyter Notebook有许多不同语言的内核,默认为IPython。在本教程中,您将设置Jupyter Notebook以通过IPython内核运行Python代码。

假设您遵循了准备部分中链接的教程,您应该安装Python 3,pip和虚拟环境。本指南中的示例遵循安装Python 3的准备教程中使用的约定,它将虚拟环境命名为“ my_env”,但您可以随意重命名它。

首先激活虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source my_env/bin/activate

在此之后,您的提示将以您的环境名称为前缀。

现在您已进入虚拟环境,请继续安装Jupyter Notebook:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 -m pip install jupyter

如果安装成功,您将看到类似于以下内容的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
. . .
Successfully installed MarkupSafe-1.0 Send2Trash-1.5.0 backcall-0.1.0 bleach-2.1.3 decorator-4.3.0 entrypoints-0.2.3 html5lib-1.0.1 ipykernel-4.8.2 ipython-6.4.0 ipython-genutils-0.2.0 ipywidgets-7.2.1 jedi-0.12.0 jinja2-2.10 jsonschema-2.6.0 jupyter-1.0.0 jupyter-client-5.2.3 jupyter-console-5.2.0 jupyter-core-4.4.0 mistune-0.8.3 nbconvert-5.3.1 nbformat-4.4.0 notebook-5.5.0 pandocfilters-1.4.2 parso-0.2.0 pexpect-4.5.0 pickleshare-0.7.4 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pygments-2.2.0 python-dateutil-2.7.3 pyzmq-17.0.0 qtconsole-4.3.1 simplegeneric-0.8.1 six-1.11.0 terminado-0.8.1 testpath-0.3.1 tornado-5.0.2

有了这个,Jupyter Notebook已安装到您的服务器上。接下来,我们将介绍如何运行该应用程序。

第2步 - 运行Jupyter笔记本

必须从您的VPS运行Jupyter Notebook,以便您可以使用SSH隧道和您喜欢的Web浏览器从本地计算机连接到它。

要运行Jupyter Notebook服务器,请输入以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jupyter notebook

运行此命令后,您将看到类似于以下内容的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[I 19:46:22.031 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret
[I 19:46:22.365 NotebookApp] Serving notebooks from local directory: /home/sammy/environments
[I 19:46:22.365 NotebookApp] 0 active kernels
[I 19:46:22.366 NotebookApp] The Jupyter Notebook is running at:
[I 19:46:22.366 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 19:46:22.366 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 19:46:22.366 NotebookApp] No web browser found: could not locate runnable browser.
[C 19:46:22.367 NotebookApp]
​
    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675&tokenExample_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675

您可能会在输出中注意到存在No web browser found警告。这是可以预料到的,因为应用程序在服务器上运行,您可能还没有在其上安装Web浏览器。本指南将介绍如何使用SSH隧道连接到服务器上的Notebook,如下一节所述。

现在,请按CTRL+C之后按y退出Jupyter笔记本,然后按ENTER确认:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Shutdown this notebook server (y/[n])? y
[C 20:05:47.654 NotebookApp] Shutdown confirmed
[I 20:05:47.654 NotebookApp] Shutting down 0 kernels

然后使用以下exit命令注销服务器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
exit

您刚刚在服务器上运行Jupyter Notebook。但是,为了访问应用程序并开始使用笔记本,您需要使用SSH隧道连接和本地计算机上的Web浏览器连接到应用程序。

第3步 - 使用SSH隧道连接到Jupyter Notebook应用程序

SSH隧道是连接到服务器上运行的Jupyter Notebook应用程序的一种简单而快速的方法。安全shell(通常称为SSH)是一种网络协议,使您可以通过不安全的网络安全地连接到远程服务器。

SSH协议包括端口转发机制,允许您将在服务器上的特定端口号上运行的某些应用程序隧道传输到本地计算机上的特定端口号。我们将学习如何安全地“转发”在服务器上运行的Jupyter Notebook应用程序(8888默认情况下在端口上)到本地计算机上的端口。

用于建立SSH隧道的方法取决于本地计算机的操作系统。跳转到与您的机器最相关的下面小节。

使用macOS或Linux进行SSH隧道

如果您的本地计算机运行Linux或macOS,则只需运行单个命令即可建立SSH隧道。

ssh是打开SSH连接的标准命令,但是当与-L指令一起使用时,您可以指定本地主机(即本地计算机)上的给定端口将转发到远程主机上的给定主机和端口(在这种情况下,您的服务器)。这意味着在远程服务器上指定端口上运行的任何内容(Jupyter Notebook的默认端口8888)都将出现在本地计算机上的指定端口上(在示例命令中为8000)。

要建立自己的SSH隧道,请运行以下命令。例如,如果另一个进程正在使用8000,请随意将端口8000更改为您选择的端口。建议您使用大于或等于8000的端口,因为这些端口号不太可能被其他进程使用。确保包含您自己的服务器的IP地址和服务器的非root用户的名称:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh -L 8000:localhost:8888 sammy@your_server_ip

如果此命令没有错误,它将使您登录到远程服务器。从那里,激活虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/environments/my_env/bin/activate

然后运行Jupyter Notebook应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jupyter notebook

要连接到Jupyter Notebook,请使用您喜欢的Web浏览器导航到本地主机上的本地端口:http://localhost:8000。现在您已连接到Jupyter Notebook,继续执行步骤4以了解如何使用它。

使用Windows和PuTTY进行SSH隧道

PuTTY是Windows的开源SSH客户端,可用于连接到您的服务器。在Windows计算机上下载并安装PuTTY后(如前提条件教程中所述),打开程序并输入服务器URL或IP地址,如下所示:

接下来,单击左窗格底部的+ SSH,然后单击隧道。在此窗口中,输入要用于在本地计算机上访问Jupyter的端口(8000)。建议使用大于或等于8000的端口,因为这些端口号不太可能被其他进程使用。但是,如果由其他进程使用8000,请选择其他未使用的端口号。接下来,将目标设置为localhost:8888,因为端口8888是运行Jupyter Notebook的端口。然后单击“ 添加”按钮,端口应出现在“ 转发端口”字段中:

最后,单击“ 打开”按钮。这将通过SSH将您的机器连接到服务器并隧道传输所需的端口。如果没有出现错误,请继续并激活您的虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/environments/my_env/bin/activate

然后运行Jupyter Notebook:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
jupyter notebook

接下来,导航到您喜欢的Web浏览器中的本地端口(例如http://localhost:8000,或您选择的任何端口号),以连接到服务器上运行的Jupyter Notebook实例。现在您已连接到Jupyter Notebook,继续执行步骤4以了解如何使用它。

第4步 - 使用Jupyter Notebook

当通过Web浏览器访问时,Jupyter Notebook提供了一个Notebook Dashboard,它充当文件浏览器,为您提供了创建,编辑和浏览笔记本的界面。将这些笔记本视为文档(以.ipynb文件扩展名保存),您可以使用任意数量的单个单元格填充这些文档。每个单元格都包含一个交互式文本编辑器,可用于运行代码或编写渲染文本。此外,笔记本电脑,您可以编写和运行方程,包括其他富媒体,如图像或互动情节,他们可以以各种格式导出和共享(.ipyb.pdf.py)。为了说明其中的一些功能,我们将从Notebook Dashboard创建一个笔记本文件,编写一个带有等式的简单文本板,并运行一些基本的Python 3代码。

此时,您应该使用SSH隧道连接到服务器,并从服务器启动Jupyter Notebook应用程序。导航到http://localhost:8000之后,您将看到一个登录页面:

在顶部的密码或令牌字段中,输入从服务器运行jupyter notebook后输出中显示的令牌:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[I 20:35:17.004 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
[I 20:35:17.314 NotebookApp] Serving notebooks from local directory: /home/sammy
[I 20:35:17.314 NotebookApp] 0 active kernels
[I 20:35:17.315 NotebookApp] The Jupyter Notebook is running at:
[I 20:35:17.315 NotebookApp] http://localhost:8888/?token=Example_Jupyter_Token_3cadb8b8b7005d9a46ca4d6675
[I 20:35:17.315 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 20:35:17.315 NotebookApp] No web browser found: could not locate runnable browser.
[C 20:35:17.316 NotebookApp]
. . .

或者,您可以从终端输出中复制该URL并将其粘贴到浏览器的地址栏中。

自动地,Jupyter笔记本将显示存储在运行它的目录中的所有文件和文件夹。单击Notebook Dashboard 右上角的New,然后单击Python 3,创建一个新的笔记本文件:

在此新笔记本中,通过单击顶部导航栏上的“ 单元格” >“ 单元格类型” >“ Markdown”,将第一个单元格更改为接受markdown语法。除了降价,此单元格类型还允许您在LaTeX中编写方程式。例如,在将其更改为markdown后,在单元格中键入以下内容:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Simple Equation
​
Let us now implement the following equation in Python:
$$ y = x^2$$
​
where $x = 2$

要将降价转换为富文本格式,请按CTRL + ENTER,将会以下结果:

您可以使用markdown单元格做笔记并记录您的代码。

现在,让我们实现一个简单的等式并打印结果。单击插入 > 在下面插入单元格以插入单元格。在此新单元格中,输入以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
x = 2
y = x*x
print(y)

要运行代码,请按CTRL + ENTER,结果如下:

这些是使用Jupyter Notebook可以做些什么的一些相对简单的例子。但是,它是一个非常强大的应用程序,具有许多潜在的用例。从这里开始,您可以添加一些Python库并像使用任何其他Python开发环境一样使用笔记本。

结论

您现在应该能够使用在远程服务器上运行的Jupyter Notebook编写可重现的Python代码和文本。要快速浏览Jupyter Notebook,请单击顶部导航栏中的“ 帮助”,然后选择“ 用户界面游览”,如下所示:

如果您有兴趣,我们建议您通过Project Jupyter文档了解有关Jupyter Notebook的更多信息。

想要了解更多关于安装,运行和连接到远程服务器上的Jupyter Notebook的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How to Install, Run, and Connect to Jupyter Notebook on a Remote Server》

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何为Python 3设置Jupyter Notebook
Jupyter Notebook为交互式计算提供了一个命令shell作为Web应用程序。该工具可以与多种语言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用于处理数据,统计建模和机器学习。
穿鞋跑得快
2018/10/19
2.8K0
如何在远程服务器上运行Jupyter Notebooks?
Jupyter Notebook是许多数据科学家工具箱中的一个主要工具。作为一个工具,Jupyter Notebook可以通过交互方式简化数据分析、模型建模和实验,从而缩短从编码到查看结果的反馈循环,从而提高工作效率。
AiTechYun
2019/07/12
4K0
如何在远程服务器上运行Jupyter Notebooks?
Jupyter Notebook
 Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。在本文中,我们将介绍 Jupyter notebook 的主要特性,以及为什么对于希望编写漂亮的交互式文档的人来说是一个强大工具。 在开始使用 notebook 之前,我们先在cmd中使用pip安装该库 pip install jupyter 安装好之后运行命令 jupyter notebook 你会看到: [I 08:34:12.265 NotebookApp] Writi
拾点阳光
2018/05/11
1.8K0
Jupyter Notebook 使用手册
对于交互式开发和呈现数据科学项目来说,Jupyter笔记本是一个非常强大的工具。本文将指导您如何在本地计算机上设置Jupyter笔记本,以及如何开始使用它来执行Python程序。 什么是“笔记本(no
HuangWeiAI
2019/11/07
3.6K0
Jupyter Notebook 使用手册
在Apache反向代理的Linode上安装Jupyter Notebook Server
Jupyter Notebook是一个交互式增强型shell,可以在Web浏览器中运行。Notebook在数据科学家中很受欢迎,支持图形的在线渲染,导出为各种格式,以及用于数学符号的LaTeX。本指南旨在在Linode上配置一个公共Jupyter Notebook服务器,该服务器将使用Apache作为反向代理,便于远程访问您的计算需求。
双愚
2018/09/12
2.7K0
在Apache反向代理的Linode上安装Jupyter Notebook Server
本地远程使用服务器的jupyter notebook
此处只能本地端口为8888,服务器端口为8889;最后是用户名和服务器的ip地址。
生信编程日常
2020/06/02
5.3K0
Jupyter Notebook基本配置及使用方法
本文将介绍一款强大的轻量级集成开发环境:Jupyter Notebook的基本配置流程以及使用方法。
花猪
2022/02/16
2K0
Jupyter Notebook基本配置及使用方法
远程访问服务器 jupyter notebook 的设置方法
本篇教程,介绍如何设置服务器的Jupyter,并远程登陆, 就像rstudio-server一样的。
邓飞
2019/06/13
7.5K0
Jupyter Notebook介绍(上篇)
2019年的第一篇~先祝大家新年快乐!在2019开开心心打代码,顺顺利利debug!
MeteoAI
2019/07/24
1.5K0
如何远程访问服务器的 Jupyter notebook
当我们拥有一台服务器的时候,通常服务器都可能包含比本地电脑比较好的配置,特别是如果做深度学习的,服务器通常意味着有好的 GPU;然后,Jupyter notebook 允许我们可以非常直观地调试代码,每完成一个函数或者一部分代码,运行一下,保存当前代码的运行结果。
kbsc13
2019/08/16
10.3K0
本地远程访问Linux服务器上的jupyter notebook
Jupyter notebook是一种Web应用程序,当在拥有图形化界面的windows、Linux和Mac系统中,很容易安装使用。不过通常我们会将一些消耗性能的代码放到性能更强的Linux服务器中,通过本地机器来访问运行,这些Linux服务器没有图形化界面只能够通过命令来进行交互,如果想要在Linux服务器中直接使用Jupyter notebook是不可能的事情。不过我们可以将Jupyter notebook安装在Linux服务器中,然后通过本地的浏览器来访问Linux服务器中的Jupyter notebook。
触摸壹缕阳光
2020/06/23
10.1K0
一文弄懂Jupyter的配置与使用(呕心沥血版)
安装 Python。从 Python 官方网站[1]下载最新版本的 Python。
MinChess
2023/05/01
20.7K0
一文弄懂Jupyter的配置与使用(呕心沥血版)
可视化运行Python的神器Jupyter Notebook
如果我们想要运行Python,通常有两种方式,第一种方式就是在Python或者IPython的解释器环境中进行交互式运行,还有一种方式就是程序员最喜欢的编写.py文件,在文件中编写python代码,然后运行。
程序那些事
2021/04/13
1.7K0
微软VS Code已原生支持Jupyter笔记本,再也不用打开网页调试运行了
本月,微软给VS Code加入了一项令人感到惊喜的功能:直接在编辑器中运行调试Jupyter Notebook,而无需任何第三方插件。
量子位
2019/10/25
5.5K1
服务器运行 jupyter notebook
搞定了,我当然来复习 tfboys,虽说 tf 更到 2.0,不与 1.0 接融,但是 tf2.0 更简单了
润森
2019/11/04
2.5K0
公网远程访问本地jupyter notebook服务 - 内网穿透
Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如Python、R、Julia等。它在数据科学、机器学习、深度学习、教育和文档编写等领域都有很广泛的应用。
鲲志说
2025/04/07
640
公网远程访问本地jupyter notebook服务 - 内网穿透
是时候强化你的Jupyter Notebook了!
Jupyter笔记本是目前世界上最热门的Pythonistas编程环境,特别是那些从事机器学习和数据科学的人。
派大星的数据屋
2022/04/02
8230
是时候强化你的Jupyter Notebook了!
【实用教程】Windows远程服务器安装anaconda,开放端口并在本地访问Jupyter notebook
因为本人在开发过程中不习惯Linux的操作方式,记不住繁琐的Linux命令,所以特意租了一个Windows服务器,以方便公司电脑和自己私用电脑的环境配置。其实原理类似于网盘,将服务器当做一个临时文件仓库。废话不多说,我们开整!
天道Vax的时间宝藏
2021/08/11
4.4K0
【玩转Lighthouse】使用轻量云服务器搭建jupyter服务器
背景 Jupyter Notebook简介 Jupyter Notebook是一款开源的Web应用,类似于Web笔记本,我们可以使用它编写代码、公式、Markdown解释性文本和绘图,并且可以把创建好的文档进行分享。 Jupyter Notebook最为方便的功能在于其可以实时运行代码,并且返回代码段的运行结果,支持可视化、IDE等能力,大大提高了模型搭建和分析的效率。 目前已经广泛应用于数据处理、数据模拟、统计建模、机器学习等重要领域。 image.png 结合轻量云服务器的优点,我们可以实现快速开发
大鹅
2022/04/20
2.6K1
【精心解读】关于Jupyter Notebook的28个技巧
Jupyter具有很强的可扩展性,支持许多编程语言,可以很容易地托管在计算机上或几乎所有的服务器上,只需要拥有ssh或http访问权限。 最重要的是,它是完全免费的。
量化投资与机器学习微信公众号
2018/01/30
7.6K0
【精心解读】关于Jupyter Notebook的28个技巧
推荐阅读
相关推荐
如何为Python 3设置Jupyter Notebook
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验