阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu下Jupyter Notebook的安装与使用

527次阅读
没有评论

共计 6761 个字符,预计需要花费 17 分钟才能阅读完成。

最近由于项目需要,开始学习 Python,然后发现一个非常有用的 python 交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习 jupyter notebook 的一个汇总和记录,与大家一起分享!下面的内容是针对 Ubuntu 系统的,当然,jupyter notebook 在 Windows 也是支持的。

一、jupyter notebook 是什么

官网的介绍是:Jupyter Notebook 是一个 Web 应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。

简单的介绍就是:Jupyter Notebook 是 Ipython 的升级版,而 Ipython 可以说是一个加强版的交互式 Shell,也就是说,它比在 terminal 里运行 python 会更方便,界面更友好,功能也更强大。怎么强大法,往下看就知道了。

二、jupyter notebook 的安装和打开

安装非常简单,只需要在终端输入:

pip install jupyter

打开 jupyter notebook 也只需要在终端输入:

jupyter notebook

运行上面的命令之后,你将看到类似下面这样的输出:

Ubuntu 下 Jupyter Notebook 的安装与使用

如上图,它打开了一个端口,并且会在你的浏览器中打开这个页面,主目录是图中的那个 directory(可能第一次打开没有这个目录)。

三、使用

1、打开一个新文档

在主页面的右上角点 new 即可新建一个你想要的文件类型。

Ubuntu 下 Jupyter Notebook 的安装与使用

如上图,jupyter 也可以打开一个 terminal,还可以作为一个 text 文本编辑器,功能明显是比 terminal 强大了。

下面的 Notebooks 类型除了 python 也是可以加入其他类型的文档的,具体方法百度一下就好。

2、python 编辑器介绍

点击 python2 后会出现一下界面:

Ubuntu 下 Jupyter Notebook 的安装与使用

稍微介绍一下 notebook 界面的组成部分 1)notebook 的名称 2)主工具栏提供了保存、导出、重载 notebook,以及重启内核等选项 3)快捷键 4)notebook 编辑区

最下面的哪个 In []: 的框叫做单元格,你可以把你的代码分成一段段的单元格输入,然后可以逐个单元格地运行。注意,这个功能是非常友好的,有时候只修改了中间的一小段代码,又不想全部代码都要重新运行的时候这个功能就非常有用了。另外,单元格是可以改变顺序的。而且可以输出图片和绘图!非常强大吧!

这些只要稍微尝试一下就懂的,下面主要介绍一些常用的技巧

** 注意,jupyter notebook 是支持 TAB 键自动补充单词的,再一次展示了其强大友好的一面!

A. 修改文档名称

方法一:点上图的 Untitled

方法二:点 File,再点 rename

B. 导出文档

步骤:点 File,再点 Download as

Ubuntu 下 Jupyter Notebook 的安装与使用

发现里面支持好几种格式的导出,第一个 ipynb 是 notebook 的格式,是一种类 json 的格式保存,其他的建议你们都试一试,你会感到非常惊喜的。

C. 保存

Ctrl + S 快捷键的可以保存你的文档的,默认是保存为 ipynb,保存在你的主目录下!

D. 单元格格式

注意到快捷键栏中有一个 code 的下拉框,点开发现有几个选项:

Ubuntu 下 Jupyter Notebook 的安装与使用

这里介绍一下

  • Code 格式就是正常的 python 代码格式
  • Markdown 的一个 text 文档编辑格式,就像在 word 里编写一样
  • Heading 就是给 Markdown 的句子设置标题等级,像 word 的标题一,标题二 …

Raw NBConvert 没用过不了解,可以自行百度或者看官网介绍

下面举例说明一下

选择一个空的单元格,code 下拉框选择 Heading,会出现一个不同类型的 cell:

Ubuntu 下 Jupyter Notebook 的安装与使用

改变单元格类型时弹出消息中有解释,后面那个单元格以 # 标记开头,意味着这是一个一级标题。如果需要子标题,可以使用以下标记表示:

# : 一级标题 ## : 二级标题 ### : 三级标题 …

输入内容后再运行一下(快捷栏里有),会出现类似下面的情况:

Ubuntu 下 Jupyter Notebook 的安装与使用

我一共输入了三级标题,点其中一个,你会发现它的 code 下拉栏显示是 markdown 类型

你以后代码里 print 的内容都是以 markdown 的格式显示的。

E. 快捷键

常用的快捷键是:

  • Ctrl + Enter: 执行单元格代码
  • Shift + Enter: 执行单元格代码并且移动到下一个单元格
  • Alt + Enter: 执行单元格代码,新建并移动到下一个单元格

这几个快捷键都是非常常用的。

F. 历史输入和输出变量

与标准 Shell 类似,IPython 中也可以通过 _ 和 _ _ 访问上一次和上上一次的输出。

当你写的单元格多了,肯定会注意到,IPython 中每一次的输入输出都有序号。你可以通过一下方法访问这些输入和输出:

  • _:访问上一次输出
  • __:访问上上一次输出
  • _X:访问历史 X 行输出
  • _iX:访问历史 X 行输入

其中小写字母“i”,代表“in”。

四、外部功能

上面讲的是 jupyter 的一些使用方法和技巧,其实它还有很多强大的外部功能的,下面给大家介绍一下。

A. 魔术命令

在 IPython 的会话环境中,所有文件都可以通过 %run 命令来当做脚本执行,并且文件中的变量也会随即导入当前命名空间。

即,对于一个模块文件,你对他使用 %run 命令的效果和 from module import * 相同

这种以 % 开头的命令在 IPython 中被称为魔术命令,用于加强 shell 的功能。

常用的魔术命令有:

%quickref 显示 IPython 快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%pdb 在异常发生后自动进入调试器
%reset 删除 interactive 命名空间中的全部变量
%run script.py 执行 script.py
%prun statement 通过 cProfile 执行对 statement 的逐行性能分析
%time statement 测试 statement 的执行时间
%timeit statement 多次测试 statement 的执行时间并计算平均值
%who、%who_ls、%whos 显示 interactive 命名空间中定义的变量,信息级别 / 冗余度可变
%xdel variable 删除 variable,并尝试清除其在 IPython 中的对象上的一切引用
!cmd 在系统 shell 执行 cmd
output=!cmd args 执行 cmd 并赋值
%bookmark 使用 IPython 的目录书签系统
%cd direcrory 切换工作目录
%pwd 返回当前工作目录(字符串形式)
%env 返回当前系统变量(以字典形式)

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/142295p2.htm

对魔术命令不熟悉的话可以通过 %magic 查看详细文档;对某一个命令不熟悉的话,可以通过 %cmd? 内省机制查看特定文档

B. 添加插件

1)侧边栏目录导航

Ubuntu 下 Jupyter Notebook 的安装与使用

当文章内容非常长的时候,前后找内容,很麻烦,不如加一个 sidebar,方便导航方法:https://github.com/ipython-contrib/IPython-notebook-extensions/tree/master/nbextensions/usability/toc2

2)隐藏代码按钮

有时候,希望代码可以隐藏,这样子文档看起来,就会干净一些

Ubuntu 下 Jupyter Notebook 的安装与使用

点击按钮,就可以隐藏所有的代码,具体做法:http://stackoverflow.com/questions/27934885/how-to-hide-code-from-cells-in-ipython-notebook-visualized-with-nbviewer 当然,还有更多的 extention 可见 https://github.com/ipython-contrib/IPython-notebook-extensions/

C. 运行 Python 文件

利用 jupyter 的 cell 是可以运行 python 文件的。

方法一:

%run file.py

方法二:在 unitx command 前面加入一个感叹号“!”,如:

!python myfile.py

D. 导入外部代码

比如有一个 test.py 文件,需要将其载入到 jupyter 的一个 cell 中

在需要导入该段代码的 cell 中输入

%load test.py #test.py 是当前路径下的一个 python 文件

shift + enter 运行后,%load test.py 被自动加入了注释符号 #,test.py 中的所有代码都被 load 到了当前的 cell 中

或者从从网络 load 代码到 jupyter

在 cell 中输入 %load http://…..,然后运行该 cell,就会将 load 后面所对应地址的代码 load 到当前的 cell 中;

五、其他技巧

1)更改 Jupyter notebook 的工作空间(主目录)

Jupyter 的工作空间在其配置文件 ipython_notebook_config.py 中。

ipython_notebook_config.py 文件在~/.jupyter/ 下

如果找不到那就在终端输入:

jupyter notebook –generate-config

然后再

gedit ~/.jupyter/jupyter_notebook_config.py

Ctrl + F 找到下面这句按下面的格式,输入你想要的目录路径即可

# The directory to use for notebooks. 这决定了 jupyter 启动目录 

c.NotebookApp.notebook_dir = u’/path/to/your/notebooks’

2)自定义快捷键

这个就直接参考官方文档吧。

六、总结

总的来说,Jupyter notebook 是一款非常优秀的交互式编辑平台,提供了分享,演示,编辑等功能. 作为学习的记录者,方便你随时捡起学习的进度,增量式地前进。

希望这篇博文能对刚接触 jupyter 的朋友有所帮助!

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/142295.htm

最近由于项目需要,开始学习 Python,然后发现一个非常有用的 python 交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习 jupyter notebook 的一个汇总和记录,与大家一起分享!下面的内容是针对 Ubuntu 系统的,当然,jupyter notebook 在 Windows 也是支持的。

一、jupyter notebook 是什么

官网的介绍是:Jupyter Notebook 是一个 Web 应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。

简单的介绍就是:Jupyter Notebook 是 Ipython 的升级版,而 Ipython 可以说是一个加强版的交互式 Shell,也就是说,它比在 terminal 里运行 python 会更方便,界面更友好,功能也更强大。怎么强大法,往下看就知道了。

二、jupyter notebook 的安装和打开

安装非常简单,只需要在终端输入:

pip install jupyter

打开 jupyter notebook 也只需要在终端输入:

jupyter notebook

运行上面的命令之后,你将看到类似下面这样的输出:

Ubuntu 下 Jupyter Notebook 的安装与使用

如上图,它打开了一个端口,并且会在你的浏览器中打开这个页面,主目录是图中的那个 directory(可能第一次打开没有这个目录)。

三、使用

1、打开一个新文档

在主页面的右上角点 new 即可新建一个你想要的文件类型。

Ubuntu 下 Jupyter Notebook 的安装与使用

如上图,jupyter 也可以打开一个 terminal,还可以作为一个 text 文本编辑器,功能明显是比 terminal 强大了。

下面的 Notebooks 类型除了 python 也是可以加入其他类型的文档的,具体方法百度一下就好。

2、python 编辑器介绍

点击 python2 后会出现一下界面:

Ubuntu 下 Jupyter Notebook 的安装与使用

稍微介绍一下 notebook 界面的组成部分 1)notebook 的名称 2)主工具栏提供了保存、导出、重载 notebook,以及重启内核等选项 3)快捷键 4)notebook 编辑区

最下面的哪个 In []: 的框叫做单元格,你可以把你的代码分成一段段的单元格输入,然后可以逐个单元格地运行。注意,这个功能是非常友好的,有时候只修改了中间的一小段代码,又不想全部代码都要重新运行的时候这个功能就非常有用了。另外,单元格是可以改变顺序的。而且可以输出图片和绘图!非常强大吧!

这些只要稍微尝试一下就懂的,下面主要介绍一些常用的技巧

** 注意,jupyter notebook 是支持 TAB 键自动补充单词的,再一次展示了其强大友好的一面!

A. 修改文档名称

方法一:点上图的 Untitled

方法二:点 File,再点 rename

B. 导出文档

步骤:点 File,再点 Download as

Ubuntu 下 Jupyter Notebook 的安装与使用

发现里面支持好几种格式的导出,第一个 ipynb 是 notebook 的格式,是一种类 json 的格式保存,其他的建议你们都试一试,你会感到非常惊喜的。

C. 保存

Ctrl + S 快捷键的可以保存你的文档的,默认是保存为 ipynb,保存在你的主目录下!

D. 单元格格式

注意到快捷键栏中有一个 code 的下拉框,点开发现有几个选项:

Ubuntu 下 Jupyter Notebook 的安装与使用

这里介绍一下

  • Code 格式就是正常的 python 代码格式
  • Markdown 的一个 text 文档编辑格式,就像在 word 里编写一样
  • Heading 就是给 Markdown 的句子设置标题等级,像 word 的标题一,标题二 …

Raw NBConvert 没用过不了解,可以自行百度或者看官网介绍

下面举例说明一下

选择一个空的单元格,code 下拉框选择 Heading,会出现一个不同类型的 cell:

Ubuntu 下 Jupyter Notebook 的安装与使用

改变单元格类型时弹出消息中有解释,后面那个单元格以 # 标记开头,意味着这是一个一级标题。如果需要子标题,可以使用以下标记表示:

# : 一级标题 ## : 二级标题 ### : 三级标题 …

输入内容后再运行一下(快捷栏里有),会出现类似下面的情况:

Ubuntu 下 Jupyter Notebook 的安装与使用

我一共输入了三级标题,点其中一个,你会发现它的 code 下拉栏显示是 markdown 类型

你以后代码里 print 的内容都是以 markdown 的格式显示的。

E. 快捷键

常用的快捷键是:

  • Ctrl + Enter: 执行单元格代码
  • Shift + Enter: 执行单元格代码并且移动到下一个单元格
  • Alt + Enter: 执行单元格代码,新建并移动到下一个单元格

这几个快捷键都是非常常用的。

F. 历史输入和输出变量

与标准 Shell 类似,IPython 中也可以通过 _ 和 _ _ 访问上一次和上上一次的输出。

当你写的单元格多了,肯定会注意到,IPython 中每一次的输入输出都有序号。你可以通过一下方法访问这些输入和输出:

  • _:访问上一次输出
  • __:访问上上一次输出
  • _X:访问历史 X 行输出
  • _iX:访问历史 X 行输入

其中小写字母“i”,代表“in”。

四、外部功能

上面讲的是 jupyter 的一些使用方法和技巧,其实它还有很多强大的外部功能的,下面给大家介绍一下。

A. 魔术命令

在 IPython 的会话环境中,所有文件都可以通过 %run 命令来当做脚本执行,并且文件中的变量也会随即导入当前命名空间。

即,对于一个模块文件,你对他使用 %run 命令的效果和 from module import * 相同

这种以 % 开头的命令在 IPython 中被称为魔术命令,用于加强 shell 的功能。

常用的魔术命令有:

%quickref 显示 IPython 快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%pdb 在异常发生后自动进入调试器
%reset 删除 interactive 命名空间中的全部变量
%run script.py 执行 script.py
%prun statement 通过 cProfile 执行对 statement 的逐行性能分析
%time statement 测试 statement 的执行时间
%timeit statement 多次测试 statement 的执行时间并计算平均值
%who、%who_ls、%whos 显示 interactive 命名空间中定义的变量,信息级别 / 冗余度可变
%xdel variable 删除 variable,并尝试清除其在 IPython 中的对象上的一切引用
!cmd 在系统 shell 执行 cmd
output=!cmd args 执行 cmd 并赋值
%bookmark 使用 IPython 的目录书签系统
%cd direcrory 切换工作目录
%pwd 返回当前工作目录(字符串形式)
%env 返回当前系统变量(以字典形式)

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/142295p2.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6761字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7982903
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸

一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸 前言 作为天天跟架构图、拓扑图死磕的...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...