Python开发之jupyter notebook使用详解

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

jupyter notebook是一个基于网页的交互式计算环境,它本身支持多种语言的开发,但常用于Python的开发。其优点是交互式强,易于可视化,尤其适用于需要频繁修改、实验的场景,比如数据分析、测试机器学习模型等。另一个优点是它是基于Web的,客户端运行于浏览器,而真正的Python环境(kernel)则运行于服务器。因此可以把计算引擎部署在计算力强大的后台服务器甚至是GPU服务器上,这对于很多深度学习的计算环境是很方便的。

jupyter notebook产品的官方主页为https://jupyter.org/

 

安装与启动

anaconda

如果安装了anaconda的python发行版,那么jupyter notebook就已经自带了。只需要从anaconda navigator中启动即可,如下图所示。

anaconda_jupyter_notebook

官方python

如果安装的是Python官方发行版,则需要自行安装jupyter notebook。安装过程可能会有点慢,因此它需要安装比较多的相关软件包。

pip install notebook

安装完成后,只需要敲入jupyter-notebook命令即可启动。

jupyter-notebook

[I 15:16:27.520 NotebookApp] Serving notebooks from local directory: /Users/gran/work_macpro/study/python/jupyter_notebook
[I 15:16:27.520 NotebookApp] Jupyter Notebook 6.1.6 is running at:
[I 15:16:27.520 NotebookApp] http://localhost:8888/?token=4f1c60188b984ab261fa033d936007d2e49b36b6b3c01261
[I 15:16:27.520 NotebookApp]  or http://127.0.0.1:8888/?token=4f1c60188b984ab261fa033d936007d2e49b36b6b3c01261
[I 15:16:27.520 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 15:16:27.528 NotebookApp]

 

不论是从anaconda启动,还是手动安装后通过命令行启动,jupyter notebook都会在后台启动一个web服务器,默认端口为8888。在浏览器中访问http://localhost:8888即可使用jupyter notebook。如下图所示。

jupyter notebook

 

使用详解

基本界面

从浏览其打开jupyter notebook后,主界面的Files标签里是一个文件浏览器。可以本机工作目录里的文件,如果是jupyter notebook文档可以直接打开;当然也可以在这里新建或者上传一个文档,如下图所示。

new_menu

选择新建一个python 3文档,则进入notebook文档界面,可以敲入python代码,并修改文档名称。如下图所示。

修改并保存文档后,再回到主界面,可以看到在Files标签里面多了一个hello_world.ipynb文件;而在Running标签则多了一个运行中的文档。

每当新建或者打开一个notebook文档,在主界面Running里面都会有一项对应的记录。在文档界面里面,这后台对应的运行引擎称为kernel。

以上就是jupyter notebook的主要界面,很简单。下面重点介绍文档界面的操作。

文档操作

文档界面又一个菜单栏和工具栏,同时还支持快捷键。实际应用中,推荐使用快捷键。文档界面的菜单里有两个新术语cell(单元)和kernel(内核)。

cell的编辑模式与命令模式

cell是一个jupyter notebook文档的基本组成单位,一个文档可以有一个或者多个cell。前面的截图中输入的hello world代码地方就是一个cell。cell有两种模式,编辑模式和命令模式。处于编辑模式时,cell中有光标闪烁,并且菜单栏右侧有编辑图标。快捷键esc可从编辑模式变为命令模式;在命令模式下按下enter则切回编辑模式。

cell类型

cell的类型有代码、Markdown和原始文档几种。混合使用代码cell和Markdown,可以形成一个很好的笔记文档。比如用Markdown来描述设计、算法和代码,其表达能力比Python自带的注释更丰富。在命令模式下,可以用快捷键改变一个cell的类型:

  • 快捷键y将一个cell类型变为代码cell
  • 快捷键m将一个cell类型变为Markdown

下图是一个混合的notebook示例,前面两个都是Markdown类型的cell,而后面的则是Python代码cell。

cell的输入与输出

对于代码cell,有输入和输出区域。输入区域就是输入源代码的,而输出区域则是代码的执行结果。要查看一个代码cell的输出结果,只需按下快捷键control+enter(⌃↩︎)。可以反复修改cell,修改后再次运行该cell则其输出也会根据最新的代码而变化。

万能的p命令

在命令模式下,如果按下键盘上的p键,则会弹出所有快捷操作的列表。因此,如果你记不住某个操作快捷键,那么就是用p命令吧!

 

总结一下,cell操作的快捷键盘(以mac book的键盘为例)。如果用过vi编辑器的话, 很多编辑快捷操作都似曾相识。

cell操作快捷键
编辑模式切换到命令模式esc
命令模式切换到编辑模式enter
快捷操作列表p(命令模式)
cell类型改为代码y(命令模式)
cell类型改为Markdownm(命令模式)
删除celldd(命令模式)
复制cellc(命令模式)
在上方插入一个新的cella(命令模式)
在下方插入一个新的cellb(命令模式)
在下方粘贴cellv(命令模式)
在上方粘贴cellshift v(⇧v)
运行cellcontrol enter(⌃↩︎)(编辑模式,命令模式)
运行cell并选中下一个cellshift enter(⇧↩︎)(编辑模式,命令模式)
运行cell并在下方插入一个新的celloprion enter(⌥↩︎)(编辑模式,命令模式)

内嵌帮助

在代码单元中,如果不知道某个函数的用法或者命令的用法,可以在其后敲入问好?然后运行,系统就会显示帮助文档。比如敲入pirnt?,然后运行该cell,则会显示内嵌的帮助文档。

 

还可以通过help()来启动交互式帮助控制台。

 

shell命令

在代码单元中,可以执行shell命令。shell命令以!开头,如下所示。

magic命令

jupyter notebook的代码单元还支持一种以%开头的称为magic的命令。这些命令包括一些内嵌的工具,如测量时间的%timeit,还有一些shell的功能,如%cat等。同样,可以在magic命令后面加?来显示使用帮助。下面是两个示例。

 

 

完整的magic命令可通过执行%magic命令来查看。

 

内核操作

内核操作可从文档界面的kernel菜单进入。

每个jupyter notebook文档在后台都有对应的运行环境,即一个内核。内核主要操作包括重启和关闭。每运行一个cell,内核里都有记录,会保存其状态;再运行很多cell后,或者经过多次修改后,之前运行的一些变量的结果可能不再适用,这种情况下可能就需要重启内核。重启后,所有的变量和状态都被清除,相当于一个cell都没运行的状态。如果想要重启后再运行所有cell,则执行"Restart & Run All",如果想要重启并清除输出结果,则执行"Restart & Clear Output"。

 

jupyter notebook里的cell并不一定要按照顺序执行,可以跳转到任何cell执行。内核有一个计数器,会标记每个执行过的cell顺序。比如下面的例子中,共有两个cell。先把所有的cell都运行一遍,然后修改第一个cell中的代码后,再跳转到第一个cell运行,第一个cell的输出结果更新了,同时第一个cell的执行顺序也变成了3。如下图所示。

 

正式这种小范围内随时修改、随时执行出结果的特性,是的jupyter notebook非常适用于边实验边写代码的开发。尤其是数据分析、机器学习模型的开发,往往需要反复实验、反复调参,因此jupyter notebook就很适合前期的开发。

安装kernel

jupyter notebook可以支持多种后台引擎(kernel),从而可以支持不同的开发语言。以bash为例,可以安装bash kernel。命令如下:

pip install bash_kernel
python3 -m bash_kernel.install --sys-prefix
Installing IPython kernel spec

带上--sys-prefix的作用是将kernel安装到虚拟环境(venv)中。

然后用jupyter kernelspec命令可以查看系统中的kernel。

jupyter kernelspec list

再启动jupyter-notebook,就可以创建bash脚本,并连接到bash kernel运行。

 

jupyter notebook可以支持的kernel有很多,流行的开发语言,比如JavaScript,TypeScript,go,Lua,C++等等都支持。详细列表可参见其WiKi页面https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

对于数据科学领域,一个典型的应用是安装多个版本的Python kernel,比如Python 2.7和Python 3.x。这样可以在多个环境验证Python应用。不过这在conda环境操作起来更为方便。

nbviewer与笔记共享

使用jupyter notebook记录的笔记文件.ipynb可以通过nbviewer来渲染从而得到带输出结果的完整笔记。jupyter的wiki上列举了很多共享的jupyter笔记,详细可参见https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks

 

如果你自己生成了一个jupyter notebook的笔记,也可以到nbviewer的网站https://nbviewer.jupyter.org/去查看。只需要输入笔记文件的URL,nbviewer就会渲染输出图文并茂的完整笔记。

 

jupyter lab

jupyter lab则是jupyter notebook的改进升级版,被称为下一代的jupyter notebook。它的集成化更高,使用起来更像一个IDE,其启动界面如下图所示。不过实际使用起来跟jupyter notebook差不多。因此学会jupyter notebook也很容易使用jupyter lab。

 

Python编辑器:Jupyter Notebook 点赞 + 关注 + 收藏 = 学会了 什么是 Jupyter Notebook ? 在 《Python 快速入门篇》 里我提到了3个编辑器,其中一个是 Jupyter NotebookJupyter Notebook 是一个基于网页的交互式计算环境,是大多数数据分析师喜欢的工具。它可以用来写代码、运行代码、可视化数据,甚至可以当笔记本使用。 相比起 VS Code 和 PyCharm,... 阅读详情

相关推荐

Jupyter Notebook介绍、安装及使用教程

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。Jupyter Notebook官方介绍Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

记录分享编程与冲浪知识 2万+

手把手教你安装Jupyter Notebook(保姆级教程)

Jupyter Notebook 是一个基于 Web 的交互式计算环境,支持多种编程语言,包括 Python、R、Julia 等。它的主要功能是将代码、文本、数学方程式、可视化和其他相关元素组合在一起,创建一个动态文档,用于数据分析、机器学习、科学计算和数据可视化等方面。Jupyter Notebook 提供了一个交互式的界面,使用户能够以增量和可视化的方式构建和执行代码,同时支持 Markdown 格式的文本和 LaTeX 数学符号。

Python栈 5万+

python数据分析之环境搭建——Jupyter Notebook安装与使用教程

在命令行输入Jupyter Notebook,即可在浏览器中打开该工具(ps:起初使用猎豹浏览器没法打开,后来把电脑默认浏览器换成火狐就ok了)b.选择Markdown可以编辑文档,Markdown是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。Jupyter提供tab补全功能,当在命令行输入函数时,按下tab键可以为任意变量搜索命名空间。点击New,可以新建py、txt、folder以及terminal。c. 选择标题,可以输入文档各级标题。点击python3,进入如下界面。

2401_84010362的博客 1581

Jupyter Notebook基础(2)用户界面——仪表盘(dashboard)

Jupyter Notebook服务器启动后,会启动Jupyter Notebook的用户界面(网站)。 Jupyter Notebook的用户界面分为两个部分: 仪表盘(Dashboard):即Jupyter Notebook服务器启动后打开的默认WEB界面,可以理解为Jupyter Notebook的文档管理器。 编辑器(Editor):即Jupyter Notebook的文档编辑、运行界面。 仪表盘(Dashboard) 仪表盘(Dashboard)概述 仪表盘是Jupyter Notebook

mighty13的专栏 3万+

13. Jupyter Notebook介绍、安装及使用

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

m0_59163425的博客 1万+

Python+VSCode IDE 快速开发配置 #VSCode上配置Jupyter Notebook

文章目录一、安装step1.安装Pythonstep2.安装VSCode(及配置中文环境)step3.在VSCode中安装python插件二、使用step1.在VSCode中选择python环境方法一、(简洁方便)方法二、打开用户设置step2.打开工作目录step3.新建文件step4.关于如何运行方法一、使用插件coderunner(报错Python was not found but can be installed解决)方法二、F5/Shift+F5运行+调试(要自定义运行和调试创建launch.j

夏普通 7164

【物尽其用】 基于jupyter notebook让ipad实现远程python开发

现如今ipad的性能越来越强,但是好像在ipad OS平台上一直没有正儿八经的任何IDE。现在ipad OS又加强了对键鼠的支持,看着手里的ipad只能是买前生产力,买后爱奇艺,不用它写点代码总有一种很浪费的感觉。 对于python来说,于是基于web的jupyter貌似成了最好的选择。对于用python的朋友们来说jupyter应该再熟悉不过了,可能相当一部分人的日常代码都是在这上面完成的,在ipad用它甚至连开发环境也不用新设置。 jupyter可以指定ip和端口号运行。我自己是在linux上操作的,其

jj008u 1万+

jupyter可以安装python库吗_如何部署Jupyter Notebook用于交互式Python开发

原标题:如何部署Jupyter Notebook用于交互式Python开发Jupyter Notebook相当于一种交互式计算环境,以便开发人员编写笔记本文档,这类文档含有实时Python 3代码、交互式窗口组件、图形、叙述性文本、方程式、图像和视频等。可以将其视为开发项目的数字剪贴簿,还让您可以从Web浏览器里面运行Python 3代码。 本文介绍了如何部署Jupyter Notebook,以...

weixin_39611070的博客 366

Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。 最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种 魔法般的 Python 开发体验。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这...

weixin_44172023的博客 200

Python开发工具全解析:PyCharm、VSCode、Jupyter Notebook…到底哪个更适合你?

官网:https://www.jetbrains.com/pycharm/适用场景:大型项目、Web开发(Django/Flask)、团队协作、专业级调试。版本选择Community(社区版):免费,支持纯Python开发。Professional(专业版):付费,支持Web框架、数据库、科学工具、远程开发等。优点智能代码补全、重构、错误检测极强集成调试器、测试工具、虚拟环境管理支持 Docker、数据库、REST Client项目结构清晰,适合工程化开发缺点。

qq_73553710的博客 2315

Python交互式开发环境:IPythonJupyter Notebook详解

Python作为解释型语言,其交互式开发环境对提高编程效率至关重要。IPython作为标准Python解释器的增强版本,通过Tab补全、对象自省和魔术命令等功能,极大提升了代码编写和调试体验。Jupyter Notebook则进一步将交互式计算与富文本结合,成为数据分析和科学计算的首选工具。这两种工具都支持Python核心语法,包括列表、字典等数据结构以及控制流程,特别适合快速原型开发和数据探索。掌握IPythonJupyter Notebook使用技巧,能够帮助开发者更高效地进行Python编程和数据

404

Python交互式开发:IPythonJupyter Notebook实战指南

交互式开发环境是现代Python编程的核心工具,其中IPythonJupyter Notebook因其强大的功能被广泛应用于数据分析和科学计算领域。IPython作为增强版Python解释器,提供了Tab补全、魔术命令等高效开发特性,大幅提升代码编写效率。Jupyter Notebook则通过单元格结构和富文本支持,实现了代码、文档和可视化的完美整合,成为探索性数据分析的标准工具。掌握这些工具不仅能优化Python开发流程,还能有效支持机器学习原型开发和数据可视化等应用场景。本文将从基础语法到高级技巧,系

cuiyingchan0663的博客 385

Jupyter NotebookPython交互式开发与数据分析实战指南

Jupyter Notebook作为开源的交互式计算环境,通过浏览器实现代码、文档与可视化的无缝整合。其核心原理基于IPython内核,支持40+编程语言的即时执行与结果展示。在数据科学领域,这种REPL(Read-Eval-Print Loop)模式能显著提升探索性数据分析效率,配合matplotlib等可视化库可实现数据洞察的即时呈现。工程实践中,Jupyter的单元格(Cell)设计允许分块调试代码,结合魔法命令(Magic Commands)如%timeit进行性能分析,%debug实现错误追踪。典

weixin_34129696的博客 483

零基础人工智能 完整开发环境搭建详细图文(python+Anaconda+Jupyter-Notebook

这套教程是完整的开发环境框架搭建,搭建完就能直接能上手敲代码不需要别的知识准备流程,在windows上搭建运行,安装过程按照下面的来,基本上不会出现像安装其他IDE那样可能出现各种路径配置等问题,对于急需提升自己的小白来说可以说得算是非常友好了。Jupyter notebook相对于pycharm来说,jupter更多用于数据探索和算法设计阶段,需要即是获得一段代码结果。pycharm更加适合于工程化的项目,比如编写一个python库,或者编写一个web项目,这个时候pycharm可能更加好用。

2401_85328934的博客 1989

Python开发环境配置与Jupyter Notebook高效使用指南

Python作为数据科学领域的主流编程语言,其开发环境配置与交互式工具使用是每个开发者必须掌握的基础技能。IPython作为增强型交互解释器,通过Tab补全、自省功能和魔术命令等特性显著提升开发效率。Jupyter Notebook则提供了基于网页的交互式计算环境,特别适合数据分析和可视化场景。理解Python对象模型、字符串处理和控制流等核心语法要点,配合虚拟环境管理和性能优化技巧,能够构建稳定高效的开发工作流。本文以IPythonJupyter Notebook为例,详细介绍了从环境安装配置到高级功能

weixin_34232744的博客 341

通过Miniconda-Python3.9快速启动Jupyter Notebook进行AI开发

通过Miniconda与Python 3.9搭建隔离且可复现的AI开发环境,结合Jupyter Notebook实现高效交互式编程。利用conda管理复杂依赖,一键启动包含PyTorch等主流框架的开发沙盒,提升团队协作效率与环境一致性。

weixin_42601608的博客 497

python开发简介:【jupyter notebook】实战配置

由于anaconda自带了jupyter notebook,所以只需要一些简单的配置我们既可以进行实战开发,主要包括使用密码登录,外部访问,及root 角色启动等。

shiter编写程序的艺术 752

ipython notebook_对 Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心

(给Python开发者加星标,提升Python技能)编译:Linux中国- chen ni,作者:Matthew BrobergJupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。-- Matthew Broberg最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种魔法般的 Python 开发体验。在研究这些...

weixin_39845825的博客 94
上一篇: Linux编程之ioctl
下一篇: Python命令参数解析库argparse使用详解
rangzh
博客等级 码龄19年 29粉丝 21原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值