如何在 Ubuntu 18.04 上使用 Python 3 设置 Jupyter Notebook

2023-11-15

介绍

Jupyter笔记本是一个开源 Web 应用程序,可让您创建和共享交互式代码、可视化等。该工具可与多种编程语言一起使用,包括 Python、Julia、R、Haskell 和 Ruby。它通常用于处理数据、统计建模和机器学习。

本教程将引导您完成设置 Jupyter Notebook 以从 Ubuntu 18.04 服务器运行,并教您如何连接和使用 Notebook。Jupyter 笔记本(或者简单地笔记本电脑)是由 Jupyter Notebook 应用程序生成的文档,其中包含计算机代码和富文本元素(段落、方程、图形、链接等),有助于呈现和共享可重复的研究。在本指南的最后一步中,您将使用在远程服务器上运行的 Jupyter Notebook 运行 Python 3 代码。

先决条件

为了完成本指南,您需要一个带有防火墙的 Ubuntu 18.04 服务器实例和一个配置了 sudo 权限的非 root 用户。您可以通过运行我们的初始服务器设置教程.

第 1 步 — 设置 Python

要开始此过程,请从 Ubuntu 存储库安装 Python 编程环境的依赖项。 Ubuntu 18.04 预装了 Python 3.6.9。稍后您将使用 Python 包管理器 pip 安装其他组件。

首先更新本地apt封装索引:

  1. sudo apt update

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

  1. sudo apt installpython3-pip python3-dev

您现在可以继续设置 Python 虚拟环境。

步骤 2 — 为 Jupyter 创建 Python 虚拟环境

安装一些依赖项后,您可以创建一个 Python 虚拟环境来管理您的项目。 Jupyter 将安装到该虚拟环境中。

您将需要访问virtualenv可以使用 pip 安装的命令。

首先,输入以下命令升级 pip:

  1. sudo -H pip3 install - 升级 pip

然后安装virtualenv用这个命令:

  1. sudo -H pip3 install虚拟环境

The -H标志确保安全策略设置home环境变量到目标用户的主目录。

With virtualenv安装完毕后,您就可以开始构建您的环境了。创建并移动到可以保存项目文件的目录。以下示例目录名为my_project_dir。使用对您和您正在从事的工作有意义的名称。

通过键入以下命令创建目录:

  1. mkdir ~/my_project_dir

Move into the my_project_dir with this command:

  1. cd ~/my_project_dir

Within the project directory, create a Python virtual environment. This tutorial will refer to the environment as my_project_env but, again, you can call it something that is relevant to your project.

  1. virtualenv my_project_env

This creates a directory called my_project_env within your my_project_dir directory. Inside, it will install a local version of Python and a local version of pip. You can use this to install and configure an isolated Python environment for Jupyter.

安装 Jupyter 之前,请激活虚拟环境。您可以通过输入以下内容来做到这一点:

  1. source my_project_env/bin/activate

您的提示符应该会更改,以表明您现在正在类似于以下内容的 Python 虚拟环境中进行操作:

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

第 3 步 — 安装 Jupyter

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

Note:当虚拟环境被激活时(当你的提示符出现时)(my_project_env)之前),使用pip代替pip3,即使您使用的是 Python 3。该工具的虚拟环境副本始终命名为pip,无论 Python 版本如何。

  1. pip install朱皮特

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

第 4 步 — 运行 Jupyter Notebook

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

  1. Jupyter笔记本

A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first Notebook you run will usually use port 8888. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:

Output
[I 21:23:21.198 NotebookApp] Writing notebook server cookie secret to /home/sammy/.local/share/jupyter/runtime/notebook_cookie_secret [I 21:23:21.361 NotebookApp] Serving notebooks from local directory: /home/sammy/my_project_dir [I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 [I 21:23:21.361 NotebookApp] or http://127.0.0.1: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] To access the notebook, open this file in a browser: file:///home/sammy/.local/share/jupyter/runtime/nbserver-7924-open.html Or copy and paste one of these URLs: http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 or http://127.0.0.1:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72

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

此时,您可以保持 SSH 连接打开并保持 Jupyter Notebook 运行,也可以退出应用程序并在设置 SSH 隧道后重新运行它。

如果您想停止 Jupyter Notebook 进程,请按CTRL + C, type Y, 进而ENTER确认。将显示以下输出:

Output
[C 19:23:34.939 NotebookApp] Shutdown confirmed [I 19:23:34.940 NotebookApp] Shutting down 0 kernels [I 19:23:34.941 NotebookApp] Shutting down 0 terminals

您现在可以设置 SSH 隧道来访问笔记本。

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

Jupyter Notebook 在服务器上的特定端口上运行(例如:8888, :8889ETC。)。 SSH 隧道使您能够安全地连接到服务器的端口。

接下来的两小节介绍如何从 Mac、Linux 和 Windows 操作系统创建 SSH 隧道。请参阅您本地计算机的小节。

与 Mac 或 Linux 建立 SSH 隧道

如果您使用的是 Mac 或 Linux,创建 SSH 隧道的步骤与使用 SSH 登录远程服务器类似,只不过在ssh命令。

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

  1. ssh -L 8888:localhost:8888 your_server_username@your_server_ip

The ssh command opens an SSH connection, but -L specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side (server). This means that whatever is running on the second port number (e.g. 8888) on the server will appear on the first port number (e.g. 8888) on your local computer.

Optionally change port 8888 to one of your choosing to avoid using a port already in use by another process.

server_username is your username (e.g. sammy) on the server which you created and your_server_ip is the IP address of your server.

For example, for the username sammy and the server address 203.0.113.0, the command would be:

  1. ssh -L 8888:localhost:8888 sammy@203.0.113.0

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

  1. Jupyter笔记本

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

Output
... [I 21:23:21.361 NotebookApp] The Jupyter Notebook 6.4.10 is running at: [I 21:23:21.361 NotebookApp] http://localhost:8888/?token=1fefa6ab49a498a3f37c959404f7baf16b9a2eda3eaa6d72 ...

使用 Windows 和 Putty 进行 SSH 隧道

如果您使用的是 Windows,则可以使用以下命令创建 SSH 隧道Putty.

首先,在地址栏中输入服务器URL或IP地址主机名(或 IP 地址)字段如图:

Set Hostname for SSH Tunnel

Next, click SSH on the bottom of the left pane to expand the menu, and then click Tunnels. Enter the local port number you want to use to access Jupyter on your local machine. Choose 8000 or greater to avoid ports used by other services, and set the destination as localhost:8888 where :8888 is the number of the port that Jupyter Notebook is running on.

点击Add按钮,端口应出现在转发端口 list:

Forwarded ports list

Finally, click the Open button to connect to the server via SSH and tunnel the desired ports. Navigate to http://localhost:8000 (or the port you chose) in a web browser to connect to Jupyter Notebook running on the server. Ensure that the token number is included, or enter the token number string when prompted at http://localhost:8000.

无论您是在 Mac/Linux 操作系统还是 Windows 中进行连接,您现在都应该通过 SSH 隧道连接到您的服务器。您现在已准备好在网络浏览器中使用 Jupyter Notebook。

第 6 步 — 使用 Jupyter Notebook

如果您当前没有运行 Jupyter Notebook,请使用以下命令启动它jupyter notebook命令:

  1. Jupyter笔记本

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

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

Create a new Python 3 notebook

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

# First Equation

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

where $x = 2$

要将 Markdown 转换为富文本,请按CTRL + ENTER,结果应如下:

results of markdown

您可以使用 Markdown 单元格来做笔记并记录您的代码。要实现该方程并打印结果,请单击顶部单元格,然后按ALT + ENTER在其下方添加一个单元格。在新单元格中输入以下代码。

x = 2
y = x**2
print(y)

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

first equation results

您现在有能力导入模块并像使用任何其他 Python 开发环境一样使用 Notebook。

结论

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

从这里,您可以通过阅读开始数据分析和可视化项目Python 3 中使用 pandas 和 Jupyter Notebook 进行数据分析和可视化.

如果您有兴趣深入了解,可以阅读我们的系列文章时间序列可视化和预测.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Ubuntu 18.04 上使用 Python 3 设置 Jupyter Notebook 的相关文章

  • Firefox 中的文件下载对话框

    我正在使用firefox进行selenium python编程 自动开始下载并保存文件 我已经完成了所有操作 但无法下载csv文件 我的python版本是2 6 6 我的selenium版本是最新版本 我也尝试使用以下链接 即 fp web
  • Python:如果满足条件,则循环遍历一个字典并在新字典中创建键/值对

    我想将一个字典的值与第二个字典的值进行比较 如果值满足特定条件 我想创建第三个字典 其中的键和值对将根据匹配情况而变化 这是一个显示我的问题的人为示例 编辑 对所有返回感到抱歉 但堆栈溢出无法识别单个返回 并且在一行上运行 3 4 行 使代
  • 配置 PIP 以在代理后面工作

    我已经安装了 python 3 4 3 附带pip 我想从代理后面使用 pip 所以我执行了以下操作 Created C Users foo pip pip ini并添加了代理配置部分 proxy export http proxy my
  • 如何在anaconda python 3.6上安装tensorflow

    我使用 anaconda 包安装了新版本的 python 3 6 但是我无法安装张量流 总是收到这样的错误 tensorflow gpu 1 0 0rc2 cp35 cp35m win amd64 whl 在此平台上不受支持 如何在 ana
  • 来自多元 t 分布的样本 python

    我想知道Python中是否有一个从多元学生t分布中采样的函数 我有包含 14 个元素的均值向量 14x14 协方差矩阵和自由度 我想从这个 t 分布中采样一个向量 对于一维情况 我使用 stats t rvs df loc scale 并且
  • 如何将数据从 JavaScript 发送到 Python

    我正在 jinja2 和 python2 7 上使用 GAE 进行 Web 开发 我可以从Python获取数据 但我无法将数据从 JavaScript 发送到 Python 这是 JavaScript 代码 function toSave
  • 如何使用 django Rest 框架保存多对多字段对象

    我有博客 发布 标签三个模型 在博客模型中 我将字段 postedin 作为发布模型的外键 将 标签 作为标签模型的许多字段 模型 py class Posted models Model name models CharField Pos
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 在Python中整齐地绘制PMF

    有没有一个库可以帮助我在 python 中整齐地绘制样本的概率质量函数 如下所示 通过matplotlib pyplot的stem模块 matplotlib pyplot stem args kwargs from matplotlib p
  • seaborn 箱线图的子图

    我有一个像这样的数据框 import seaborn as sns import pandas as pd pylab inline df pd DataFrame a one one two two one two one one one
  • pandas groupby 并转换为 json 列表

    我有一个如下所示的 pandas 数据框 idx f1 f2 f3 1 a a b 2 b a c 3 a b c 87 e e e 我需要将其他列转换为基于索引列的字典列表 所以 最终结果应该是 idx features 1 f1 a f
  • Scrapy FakeUserAgentError:获取浏览器时发生错误

    我使用 Scrapy FakeUserAgent 并在我的 Linux 服务器上不断收到此错误 Traceback most recent call last File usr local lib64 python2 7 site pack
  • __author__ 的起源是什么?

    使用私有元数据变量的约定在哪里 author 一个模块内部从何而来 This http mail python org pipermail python dev 2001 March 013328 htmlPython 邮件列表线程似乎暗示
  • 如果任何单元测试失败,如何使 Python 的覆盖率工具失败?

    我想使用 shell 脚本来确保我的单元测试通过and我的代码有足够的测试覆盖率 我只想运行我的测试代码once 我希望我可以通过coverage https coverage readthedocs io 工具和单次运行的工具 如果一项或
  • AppEngine 警告 - OpenBLAS 警告 - 无法确定该系统上的 L2 缓存大小

    我尝试在 GC AppEngine 上部署应用程序 部署过程中没有错误 但应用程序无法运行 仅显示加载页面 日志中唯一一个奇怪的原始日志 OpenBLAS WARNING could not determine the L2 cache s
  • 如何在 Python 中连接两个列表?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 如何在 Python 中连接两个列表 Example listone 1 2 3 lis
  • 获取列的 [0, x] 元素的最小值

    我需要计算一列 其中值是对其他列进行矢量化运算的结果 df new col df col1 min 0 df col2 然而 事实证明我不能像上面的语法一样使用 min 那么 获得 pandas 列的零和给定值之间的最小值的正确方法是什么
  • Django - 渲染到字符串无法加载 CSS

    我正在尝试使用 Django 1 8 render to string 通过管理命令将 html 转换为 pdf 而不是使用 View request 以下代码可以将模板转换为 pdf 但它无法将 CSS 加载到模板中 def html t
  • Pandas 数据框可对多列和要列出的值进行字典

    我有一个数据框 id key a1 1 a2 1 a3 1 a4 2 a5 2 a6 3 我想创建一本字典key作为机器号 并且id列作为列表 like 1 a1 a2 a3 2 a4 a5 3 a6 我可以先使用 groupby 然后再使
  • `numpy.diff` 和 `scipy.fftpack.diff` 在微分时给出不同的结果

    我正在尝试计算一些数据的导数 并且正在尝试比较有限差分的输出和谱方法的输出 但结果却截然不同 我无法弄清楚到底为什么 考虑下面的示例代码 import numpy as np from scipy import fftpack as sp

随机推荐

  • Linux 中的 Gunzip 命令

    Gunzip 是一个用于解压缩 Gzip 文件的命令行工具 Gzip 是最流行的压缩算法之一 它可以减小文件大小并保留原始文件模式 所有权和时间戳 按照惯例 使用 Gzip 压缩的文件要么是 gz or z扩大 在本教程中 我们将解释如何使
  • 如何在 CentOS 7 上安装和配置 Squid 代理

    Squid 是一个功能齐全的缓存代理 支持流行的网络协议 如 HTTP HTTPS FTP 等 将 Squid 放置在 Web 服务器前面可以通过缓存重复请求 过滤 Web 流量和访问地理限制内容来极大地提高服务器性能 本教程介绍如何在 C
  • 如何在 Ubuntu 18.04 上安装 Gitea

    Gitea 是一个用 Go 编写的自托管开源 git 服务器 它是一个叉子Gogs Gitea 包括存储库文件编辑器 项目问题跟踪 用户管理 通知 内置 wiki 等等 Gitea是一个轻量级应用程序 可以安装在低功耗系统上 如果您正在寻找
  • 如何在 Ubuntu 20.04 上添加和删除用户

    配置新 Ubuntu 系统时的首要任务之一是添加和删除用户 每个用户可以对各种命令行和 GUI 应用程序拥有不同的权限级别和特定设置 本文介绍如何在 Ubuntu 18 04 上添加和删除用户帐户 在你开始之前 仅 root 或具有 sud
  • 如何在 Raspberry Pi 上安装 Plex 媒体服务器

    Raspberry Pi 可用于许多不同的项目 Raspberry Pi 最受欢迎的用例之一是将 Raspberry Pi 变成家庭媒体中心 Plex 是一款流行的流媒体服务器 可让您组织视频 音乐和照片收藏 并将它们随时随地流式传输到您的
  • 如何在 Ubuntu 18.04 上安装 Node.js 和 npm

    Node js 是一个开源跨平台 JavaScript 运行时环境 允许服务器端执行 JavaScript 代码 这意味着您可以在计算机上将 JavaScript 代码作为独立应用程序运行 无需使用任何 Web 浏览器 Node js 主要
  • 如何在 CentOS 7 上部署 Mattermost

    Mattermost 是一个开源即时通讯平台 是一个自托管的 Slack 替代品 它是用 Golang 和 React 编写的 可以使用 MySQL 或 PostgreSQL 作为数据库后端 Mattermost 将您的所有团队沟通集中到一
  • 如何在 CentOS 7 上安装 Plex 媒体服务器

    Plex 是一款流媒体服务器 可将您所有的视频 音乐和照片收藏集中在一起 并随时随地将它们流式传输到您的设备 在本教程中 我们将向您展示如何安装和配置Plex 媒体服务器在 CentOS 7 上 先决条件 在继续本教程之前 请确保您以以下身
  • Linux 中的 df 命令(检查磁盘空间)

    我的硬盘还剩多少空间 是否有足够的可用磁盘空间来下载大文件或安装新应用程序 在 Linux 和 Unix 操作系统上 您可以使用df命令获取有关系统磁盘空间使用情况的详细报告 使用 df 命令 的一般语法为df命令如下 df OPTIONS
  • 如何在 CentOS 8 上安装 Node.js 和 npm

    Node js 是一个基于 Chrome JavaScript 构建的跨平台 JavaScript 运行时环境 旨在在服务器端执行 JavaScript 代码 使用 Node js 您可以构建可扩展的网络应用程序 npm 是 Node Pa
  • 如何在 Debian 9 上安装 Webmin

    Webmin是一个用于管理 Linux 服务器的开源 Web 控制面板 使用 Webmin 您可以管理系统用户 组 磁盘配额以及配置最流行的服务 包括 Web ssh ftp 电子邮件和数据库服务器 本教程介绍如何在 Debian Linu
  • 如何在 Debian 11 上为专用连接设置 Squid 代理

    介绍 代理服务器是一种服务器应用程序 充当最终用户和互联网资源之间的网关 通过代理服务器 最终用户能够出于多种目的控制和监视其 Web 流量 包括隐私 安全和缓存 例如 您可以使用代理服务器从与您自己的 IP 地址不同的 IP 地址发出 W
  • 如何在 Ubuntu 16.04 上安装 MySQL

    介绍 MySQL是一个开源数据库管理系统 通常作为流行的一部分安装LAMP Linux Apache MySQL PHP Python Perl 堆栈 它使用关系数据库和 SQL 结构化查询语言 来管理其数据 简短版本的安装很简单 更新您的
  • Java IO 教程

    Java提供了几个类java io用于处理文本 流数据和文件系统的包 我最近提供了几个有关 Java 文件和 Java IO 的示例 这篇文章是所有 Java IO 文章的索引 Java IO 如何在 Java 中创建新文件在这篇文章中 您
  • Java Stream Collect() 方法示例

    Java Streamcollect 对流的元素执行可变归约操作 这是终端操作 什么是可变约简操作 可变归约操作处理流元素 然后将其累积到可变结果容器中 处理元素后 组合函数将合并所有结果容器以创建结果 Java Stream Collec
  • 快速初始化()

    在本 Swift 教程中 我们将讨论一个重要的概念 即 Swift init 或 Swift 初始化 初始化是当我们创建某种类型的实例时发生的事情 快速初始化 初始化是准备类 结构或枚举的实例以供使用的过程 此过程涉及为该实例上的每个存储属
  • 如何在 Debian Wheezy 上使用 Postfix 安装和配置 DKIM

    介绍 对于大多数邮件服务器管理员来说 被错误地标记为垃圾邮件发送者所带来的挫败感并不奇怪 通过排除服务器受损的可能性 错误标记通常是由以下原因之一引起的 该服务器是一个开放的邮件中继 发件人或服务器的 IP 地址已列入黑名单 服务器没有完全
  • Linux/Unix 中的 AWK 命令

    AWK 适用于模式搜索和处理 该脚本运行以搜索一个或多个文件以识别匹配模式以及所述模式是否执行特定任务 在本指南中 我们将了解 AWK Linux 命令并了解它的功能 AWK 可以执行哪些操作 逐行扫描文件 将每个输入行拆分为字段 将输入行
  • 如何在 Python 中将字符串转换为日期时间或时间对象

    介绍 蟒蛇datetime and time模块均包括strptime 将字符串转换为对象的类方法 在本文中 您将使用strptime 将字符串转换为datetime and struct time 对象 将字符串转换为datetime对象
  • 如何在 Ubuntu 18.04 上使用 Python 3 设置 Jupyter Notebook

    介绍 Jupyter笔记本是一个开源 Web 应用程序 可让您创建和共享交互式代码 可视化等 该工具可与多种编程语言一起使用 包括 Python Julia R Haskell 和 Ruby 它通常用于处理数据 统计建模和机器学习 本教程将