前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Debian 9上使用Python 3设置Jupyter笔记本

如何在Debian 9上使用Python 3设置Jupyter笔记本

原创
作者头像
葡萄
修改2018-11-15 15:31:23
2.7K0
修改2018-11-15 15:31:23
举报
文章被收录于专栏:云计算教程系列
不使用Debian 9?选择其他版本:

介绍

Jupyter Notebook为交互式计算提供了一个命令shell作为Web应用程序。该工具可以与多种语言一起使用,包括Python,Julia,R,Haskell和Ruby。它通常用于处理数据,统计建模和机器学习。

本教程将指导您设置Jupyter Notebook以从Debian 9服务器运行,并教您如何连接和使用笔记本。Jupyter笔记本(或简称笔记本)是由Jupyter Notebook应用程序生成的文档,其中包含计算机代码和富文本元素(段落,方程式,图形,链接等),有助于呈现和共享可重复的研究。

在本指南的最后,您将能够使用在远程服务器上运行的Jupyter Notebook运行Python 3代码。

先决条件

为了完成本指南,您应该拥有一个带有基本防火墙的新的Debian 9服务器实例和一个配置了sudo权限的非root用户。您可以通过Debian9指南运行初始服务器设置来了解如何进行此设置。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第1步 - 安装Pip和Python标头

要开始这个过程,我们将从Debian存储库下载并安装我们需要的所有项目。稍后我们将使用Python包管理器pip来安装其他组件。

我们首先需要更新本地apt包索引,然后下载并安装包:

代码语言:javascript
复制
sudo apt update

接下来,安装pip和一些Jupyter依赖项使用的Python头文件:

代码语言:javascript
复制
sudo apt install python3-pip python3-dev

Debian 9(“Stretch”)预装了Python 3.5。

我们现在可以继续设置我们将安装Jupyter的Python虚拟环境。

第2步 - 为Jupyter创建Python虚拟环境

现在我们已经拥有了Python 3,它的头文件,并且pip已经准备就绪,我们可以创建一个Python虚拟环境以便于管理。我们将把Jupyter安装到这个虚拟环境中。

为此,我们首先需要访问该virtualenv命令。我们可以使用pip来安装这个。

键入以下命令升级并安装pip软件包:

代码语言:javascript
复制
sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv

随着virtualenv安装,我们可以开始形成我们的环境。创建并移动到我们可以保存项目文件的目录中:

代码语言:javascript
复制
mkdir ~/myprojectdir
cd ~/myprojectdir

在项目目录中,键入以下命令创建Python虚拟环境:

代码语言:javascript
复制
virtualenv myprojectenv

这将在您的myprojectdir目录中创建一个名叫myprojectenv的目录。在里面,它将安装本地版本的Python和本地版本的pip。我们可以使用它为Jupyter安装和配置一个独立的Python环境。

在我们安装Jupyter之前,我们需要激活虚拟环境。您可以通过键入以下内容来执

代码语言:javascript
复制
source myprojectenv/bin/activate

您的提示应更改为表明您现在在Python虚拟环境中运行。它看起来像这样:(myprojectenv)user@host:~/myprojectdir$

您现在已准备好将Jupyter安装到此虚拟环境中。

第3步 - 安装Jupyter

在虚拟环境处于活动状态时,使用本地实例pip安装Jupyter :

注意:当虚拟环境被激活时(当您的提示位于其(myprojectenv)前面时),即使您使用的是Python,也请使用pip而不是pip3Python 3. pip无论Python版本是什么,虚拟环境的工具副本始终都会被命名。

代码语言:javascript
复制
pip install jupyter

此时,您已成功安装了运行Jupyter所需的所有软件。我们现在可以启动笔记本服务器了。

第4步 - 运行Jupyter Notebook

您现在拥有运行Jupyter Notebook所需的一切!要运行它,请执行以下命令:

代码语言:javascript
复制
jupyter notebook

Jupyter笔记本的活动记录将打印到终端。当您运行Jupyter Notebook时,它将在特定的端口号上运行。您运行的第一个笔记本通常会使用端口8888。要检查Jupyter Notebook正在运行的特定端口号,请参阅用于启动它的命令的输出:

代码语言:javascript
复制
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /run/user/1001/jupyter/notebook_cookie_secret
[I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/myprojectdir
[I 21:23:21.361 NotebookApp] The Jupyter Notebook is running at:
[I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72
[I 21:23:21.361 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 21:23:21.361 NotebookApp] No web browser found: could not locate runnable browser.
[C 21:23:21.361 NotebookApp]
​
    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

如果您在本地Debian计算机上运行Jupyter Notebook(而不是在腾讯CVM上),您只需导航到显示的URL即可连接到Jupyter Notebook。如果您在腾讯CVM上运行Jupyter Notebook,则需要使用SSH隧道连接到服务器,如下一节所述。

此时,您可以保持SSH连接打开并保持Jupyter Notebook运行,或者可以退出应用程序并在设置SSH隧道后重新运行它。让我们保持简单并停止Jupyter Notebook流程。一旦我们进行了SSH隧道工作,我们将再次运行它。要停止Jupyter Notebook进程,请按CTRL+C,键入Y,然后单击ENTER以确认。将显示以下内容:

代码语言:javascript
复制
[C 21:28:28.512 NotebookApp] Shutdown confirmed
[I 21:28:28.512 NotebookApp] Shutting down 0 kernels

我们现在将设置一个SSH隧道,以便我们可以访问笔记本。

步骤5 - 使用SSH隧道连接到服务器

在本节中,我们将学习如何使用SSH隧道连接到Jupyter Notebook Web界面。由于Jupyter Notebook将在服务器上的特定端口(例如:8888:8889等)上运行,因此SSH隧道可以安全地连接到服务器的端口。

接下来的两个小节描述了如何从1)Mac或Linux和2)Windows创建SSH隧道。请参阅本地计算机的小节。

使用Mac或Linux进行SSH隧道连接

如果您使用的是Mac或Linux,则创建SSH隧道的步骤类似于使用SSH登录到远程服务器,但ssh命令中还有其他参数。本小节将概述ssh命令连接到隧道所需的其他参数。

SSH隧道可以通过在新的本地终端窗口中运行以下SSH命令来完成:

代码语言:javascript
复制
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,命令将是:

代码语言:javascript
复制
ssh -L 8888:localhost:8888 sammy@203.0.113.0

如果在运行ssh -L命令后没有出现错误,您可以进入编程环境并运行Jupyter Notebook:

代码语言:javascript
复制
jupyter notebook

您将收到带有URL的输出。从本地计算机上的Web浏览器中,使用以http://localhost:8888开头的URL打开Jupyter Notebook Web界面。确保包含令牌编号,或在提示http://localhost:8888时输入令牌编号字符串。

使用Windows和Putty进行SSH隧道连接

如果您使用的是Windows,则可以使用Putty创建SSH隧道。

首先,输入服务器URL或IP地址作为主机名,如下所示:

接下来,单击左窗格底部的SSH以展开菜单,然后单击“ 隧道”。输入用于访问本地计算机上的Jupyter的本地端口号。选择 8000或更大,以避免其他服务所使用的端口,并设定目的地为 localhost:8888,其中 :8888 是Jupyter笔记本电脑上运行的端口号。

现在单击“ 添加”按钮,端口应显示在“ 转发端口”列表中:

最后,单击“ 打开”按钮以通过SSH连接到服务器并隧道连接所需的端口。导航到Web浏览器中的http://localhost:8000(或您选择的任何端口)以连接到服务器上运行的Jupyter Notebook。确保包含令牌编号,或在提示http://localhost:8000时输入令牌编号字符串。

第6步 - 使用Jupyter Notebook

本节介绍使用Jupyter Notebook的基础知识。如果您当前没有运行Jupyter Notebook,请使用该jupyter notebook命令启动它。

您现在应该使用Web浏览器连接到它。Jupyter Notebook功能强大,功能强大。本节将概述一些使您开始使用笔记本的基本功能。Jupyter Notebook将显示其运行目录中的所有文件和文件夹,因此当您处理项目时,请确保从项目目录启动它。

要创建新的笔记本文件,请从右上角的下拉菜单中选择New > Python 3

这将打开一个笔记本。我们现在可以在单元格中运行Python代码或将单元格更改为markdown。例如,通过单击顶部导航栏中的“ 单元格” >“ 单元格类型” >“ Markdown”,将第一个单元格更改为接受Markdown 。我们现在可以使用Markdown编写注释,甚至可以通过将它们放在$$符号之间来包含用LaTeX编写的方程式。例如,在将其更改为markdown后,在单元格中键入以下内容:

代码语言:javascript
复制
# Simple Equation
​
Let us now implement the following equation:
$$ y = x^2$$
​
where $x = 2$

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

您可以使用markdown单元格做笔记并记录您的代码。让我们实现这个简单的等式并打印结果。单击顶部单元格,然后按ALT+ENTER以在其下方添加单元格。在新单元格中输入以下代码。

代码语言:javascript
复制
x = 2
y = x**2
print(y)

要运行代码,请按CTRL+ENTER。您将收到以下结果:

您现在可以像导入任何其他Python开发环境一样导入模块并使用笔记本!

结论

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

更多Debian教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Set Up a Jupyter Notebook with Python 3 on Debian 9》

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 先决条件
  • 第1步 - 安装Pip和Python标头
  • 第2步 - 为Jupyter创建Python虚拟环境
  • 第3步 - 安装Jupyter
  • 第4步 - 运行Jupyter Notebook
  • 步骤5 - 使用SSH隧道连接到服务器
    • 使用Mac或Linux进行SSH隧道连接
      • 使用Windows和Putty进行SSH隧道连接
      • 第6步 - 使用Jupyter Notebook
      • 结论
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档