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

python 第一天 rb% python Python 2.4 (#1, Mar 29 2005, 12:05:39)  [GCC 3.3 20030304 (Apple Computer, Inc. build 1495)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 阅读详情

Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。

最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种 魔法般的 Python 开发体验 。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这段历史。正如 Jupyter 项目的 大拆分™ 声明 所说:

“如果你不明白 Jupyter 是什么,这么说吧,它拥有和 IPython 同样的代码,并且是由同一批人开发的,只不过取了一个新名字、安了一个新家。”

下面这个注脚进一步说明了这一点:

 Python学习交流群:1004391443

“我从声明中解读出来的信息是,‘Jupyter 和 IPython 非常相似,但是拥有多种语言’,这也可以很好地解释为什么这个项目的名字已经不再需要包含 Python,因为当时它已经支持多种语言了。”

我明白 Jupyter Notebook 和 IPython 都是从同样的源代码里分支出来的,但是不太清楚 IPython 项目的现状。在大拆分™ 之后它是已经不再被需要了,还是在以另一种方式延续着?

后来我惊讶地发现,IPython 仍然不断在为 Python 使用者提供价值,它正是 Jupyter 体验的核心部分。下面是 Jupyter 常见问题页面的一段截取:

有什么语言是需要预装的吗?

是的,安装 Jupyter Notebook 会首先安装 IPython 内核。这样我们就可以在 notebook 上运行 Python 语言了。

现在我明白了,在 JupyterLab(以及 Jupyter Notebook)上编写 Python 程序仍然需要依赖 IPython 内核的持续开发。不仅如此,IPython 还充当了最为强大的默认内核的角色,根据 这份文档 ,它是其它语言内核之间的枢纽,节省了很多开发时间和精力。

现在唯一的问题是,IPython 本身可以做什么呢?

IPython 如今的作用

IPython 提供了一个强大的、交互性的 Python shell,以及 Jupyter 的内核。安装完成之后,我可以在任何命令行运行 ipython 本身,将它当作一个(比默认 Python shell 好太多的)Python shell 来使用:

$ ipython
Python 3.7.3 (default, Mar 27 2019, 09:23:15)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: import numpy as np
In [2]: example = np.array([5, 20, 3, 4, 0, 2, 12])
In [3]: average = np.average(example)
In [4]: print(average)
6.571428571428571

这就让我们发现了一个更为重要的问题:是 IPython 让 JupyterLab 可以在项目中执行代码,并且支持了一系列被称为 Magic 的功能(感谢 Nicholas Reith 在我上一篇文章的评论里提到这点)。

IPython 让魔法成为现实

JupyterLab 和其它使用 IPython 的前端工具可以让你感觉像是在最喜欢的 IDE 或者是终端模拟器的环境下工作。我非常喜欢 点文件 快捷键功能,Magic 也有类似点文件的特征。比如说,可以试一下 %bookmark 这个命令。我把默认开发文件夹 ~/Develop 关联到了一个可以在任何时候直接跳转的快捷方式上。

 

 

 

 

%bookmark 、 %cd ,以及我在前一篇文章里介绍过的 ! 操作符,都是由 IPython 支持的。正如这篇 文档 所说:

Jupyter 用户你们好:Magic 功能是 IPython 内核提供的专属功能。一个内核是否支持 Magic 功能是由该内核的开发者针对该内核所决定的。

写在最后

作为一个好奇的新手,我之前并不是特别确定 IPython 是否仍然和 Jupyter 生态还有任何联系。现在我对 IPython 的持续开发有了新的认识和,并且意识到它正是 JupyterLab 强大的用户体验的来源。这也是相当有才华的一批贡献者进行最前沿研究的成果,所以如果你在学术论文中使用到了 Jupyter 项目的话别忘了引用他们。为了方便引用,他们还提供了一个 现成的引文 。

如果你在考虑参与哪个开源项目的贡献的话,一定不要忘了 IPython 哦。记得看看 最新发布说明 ,在这里可以找到 Magic 功能的完整列表。 

【Python】ipython、Jupyter Notebook、Jupyter Lab、Anaconda Cloud Notebooks、Google Colab Jupyter Notebook 是一个开源的交互式计算环境,广泛用于数据科学、机器学习、数据分析、教育和研究等领域 阅读详情

相关推荐

【雷达信号处理实战】从原理到代码:脉冲多普勒(PD)处理全流程解析与MATLAB仿真

本文深入解析了脉冲多普勒(PD)雷达信号处理的核心原理与全流程。通过剖析多普勒效应、脉冲压缩与慢时间FFT等关键技术,并结合详细的MATLAB仿真代码,手把手指导如何从信号建模、回波模拟到最终生成距离-多普勒谱,实现运动目标的精确测距与测速,直观展示了相参积累带来的显著性能增益。

pca5navigator的博客 960

Python代码编辑

1.在终端中编辑运行C:\>pythonPython 3.9.5 (tags/v3.9.5:0a7dcbd, May  3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> print("I love python!")I love python!>>> p

flysh05的专栏 5328

联想ThinkPad声卡驱动安装避坑指南:从E470到X1 Carbon的通用解法

本文详细介绍了ThinkPad声卡驱动安装的全流程,从硬件识别到驱动获取、安装技巧及深度排错。涵盖E470到X1 Carbon等不同机型的通用解法,帮助用户解决音频驱动问题,提升使用体验。重点讲解了声音驱动的精准识别和安装策略,确保系统稳定运行。

weixin_29207439的博客 712

ipython notebook_JupyterLab,极其强大的下一代notebook!

JupyterLab简介JupyterLab是Jupyter主打的最新数据科学生产工具,某种意义上,它的出现是为了取代Jupyter Notebook。不过不用担心Jupyter Notebook会消失,JupyterLab包含了Jupyter Notebook所有功能。JupyterLab作为一种基于web的集成开发环境,你可以使用它编写notebook、操作终端、编辑markdown文本、打开...

weixin_39737111的博客 181

企业AI Agent的审计与合规

本文将带你从**“0基础理解企业AI Agent审计与合规”到核心概念梳理:用大白话+学术定义拆解什么是“企业AI Agent”、“可审计性(Auditability)”、“可解释性(Explainability,XAI)≠可审计性”、“合规性(Compliance)”、“黑盒拆解的三层维度”等硬核但必须掌握的概念;风险与合规背景:从**内部风险(数据泄露、误操作、模型偏差)和。

Java大师兄的博客 301

MATLAB/simulink电力系统之变压器仿真+变压器饱和仿真+空载变压器电流畸变原因及仿真+空载合闸励磁涌流仿真+simulink免费仿真资源

单相变压器空载运行时,原边电流主要用来产生主磁场,而电路损耗和铁芯损耗很小,因此即使外加电压很大,空载电流仍然很小。如果想观察某个相对磁导率下电感系数的数值,可以在程序中增加这样的语句,比如,在程序中end语句之后,加上L(100),运行程序后就可以得到相对磁导率为 100时的电感系数值。在交流铁芯线圈中,当交变磁通按照正弦规律变化时,受到磁路饱和的影响,线圈中的电流会发生畸变,并成为尖顶波,这就是所谓的交流磁路电流畸变。需要指出,铁芯内的主磁通Ф可以通过空载时的副边电压从来测量,两者之间的数学关系,即。

m0_37724753的博客 4234

python基础学习-集合数据类型

python语言本身提供除有基本数据类型外,还有相应的简单集合数据类型,常用的有列表,元组,集合,字典。当然也可以通过模块使用第三方的数据结构,比如说有矩阵,树,队列,堆栈,图等等。 其中列表是一种动态数据结构,在数据结构中体现为线性表或者链表。其中的动态这个词很重要,像元组和基本数据类型就是非动态的,因为在对待按值传递和按引用传递方面是如果是动态的就按引用传递,如果是非动态的就按值传递。当然,

Benson的博客 1247

行业变革下的功能安全落地痛点3:高阶智驾安全责任转移 —— 从 “人为中心” 到 “机器主责” 的产业阵痛

文章围绕高阶智驾(L3 级)落地挑战,探讨安全责任从 “人控” 向 “机控” 转移的本质、技术短板导致的责任模糊、全球法规实践及技术 - 法规 - 保险的破局路径。

my9111526 127

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

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

weixin_39845825的博客 96

OpenClaw分布式高可用部署实战:Docker+K8s集群化,支撑万级并发生产业务

OpenClaw从单节点到分布式高可用集群,是企业AI从试点到规模化落地的必经之路。基于Docker+K8s的部署方案,不仅解决了高并发、高可用、弹性伸缩的生产痛点,更让运维成本大幅降低,业务稳定性提升到99.99%。对于电商、制造、政务等对稳定性有极致要求的行业,这套方案是OpenClaw生产上线的标准形态——功能拉满的同时,守住安全、稳定、可控的底线。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 275

FLACS-CFD 气云爆炸模拟全流程工况构建指南:从泄漏到爆炸

摘要: 本文详细介绍了使用FLACS-CFD模拟气云爆炸的全流程构建方法,重点解决泄漏模拟到爆炸模拟的气云文件传递问题。核心步骤包括: 项目规划:明确泄漏源(甲烷管道腐蚀泄漏)和爆炸场景,建立标准目录结构; 网格设计:泄漏与爆炸模拟需采用兼容的网格,爆炸域应为泄漏域的子区域且网格划分一致; 泄漏模拟配置:通过.inp文件定义几何、网格、风场、燃料及泄漏源参数,确保输出爆炸所需的气云文件(*.uni/*.fla); 关键设置:统一燃料名称、时间点匹配、路径正确性,避免版本兼容性问题。

huanghm88的专栏 767

ipython和jupyter哪个好_对 Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心

Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。-- Matthew Broberg(作者)最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种 魔法般的 Python 开发体验。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这段历史。正如 Jupyter 项目的 大...

weixin_39785524的博客 222

统信UOS丨开机无法进入系统 无法打开控制台访问权限,root账号被锁定(cannot open access to console, the root account is locked)

步骤四:分别打开文件发现Roota下的fstab就是我们要找的文件,打开查看Roota的属性发现其为挂载的磁盘nvme0n1p3。步骤三:按Win+E打开文件管理器在分区中查找/etc/fstab文件,发现Roota和Rootb下都有该文件。步骤二:按键盘Ctrl+Alt+F4,进入终端控制台,如下图所示输入startx回车,进入桌面。步骤一:找到UOS系统安装的U盘,选择U盘启动进入安装界面,如下图所示。步骤七:关机,拔出U盘,启动电脑,OK,问题解决。

Reyn_观极 1万+

ipython和jupyter哪个好_对Python开发者而言,IPython仍然是Jupyter Notebook的核心

如果你不明白 Jupyter 是什么,这么说吧,它拥有和 IPython 同样的代码,并且是由同一批人开发的,只不过取了一个新名字、安了一个新家。下面这个注脚进一步说明了这一点:我从声明中解读出来的信息是,“Jupyter 和 IPython 非常相似,但是拥有多种语言”,这也可以很好地解释为什么这个项目的名字已经不再需要包含 Python,因为当时它已经支持多种语言了。我从声明中解读出来的信息是...

weixin_42299396的博客 573

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

ipython notebook_对 Python 开发者而言,IPython 仍然是 Jupyter Notebook 的核心 | Linux 中国...

Jupyter 项目提供的魔法般的开发体验很大程度上得益于它的 IPython 基因。-- Matthew Broberg最近刚刚写过我为什么觉得觉得 Jupyter 项目(特别是 JupyterLab)提供了一种魔法般的 Python 开发体验。在研究这些不同项目之间的关联的时候,我回顾了一下 Jupyter 最初从 IPython 分支出来的这段历史。正如 Jupyter 项目的...

weixin_39970855的博客 227

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

如何使用 Emacs IPython Notebook (EIN):提升你的 Python 开发效率

Emacs IPython Notebook (EIN) 是一个强大的 Emacs 插件,它将 IPython Notebook 的交互性与 Emacs 的高效编辑能力完美结合。无论你是数据科学家、Python 开发者还是学生,EIN 都能帮助你在 Emacs 环境中无缝地创建、编辑和运行 Jupyter Notebook,极大提升工作效率。 ## EIN 的核心功能与优势 EIN 提供了丰富

gitblog_00912的博客 1027

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Jupyter 魔术命令(magic commands)和常用快捷键

常用命令 自动重新加载更改的模块 %load_ext autoreload %autoreload 2 启动和当前笔记本相同内核的 qtconsole: %qtconsole 当前笔记本链接信息: %connect_info Line magics 命令 详情 %alias 定义别名 %alias_magic 为现有的魔术命令创建别名 %autocall %automagic 设置输入魔术命令时是否键入%前缀,on(1)/off(0) %bo

eli的博客 2018

Emacs-IPython-Notebook中的代码补全与调试:提升Python开发体验

Emacs-IPython-Notebook(EIN)是一款强大的Jupyter Notebook客户端,它将Emacs的高效编辑能力与Jupyter的交互式计算环境完美结合。本文将详细介绍如何利用EIN的代码补全和调试功能,帮助Python开发者在Emacs中获得流畅的开发体验。 ## 代码补全:智能辅助编写代码 代码补全是提升编程效率的关键功能之一。EIN通过专门的模块实现了对Python

gitblog_01136的博客 360

IPython Cookbook扩展开发:5个自定义Notebook的高级技巧

想要掌握Jupyter Notebook的高级定制技巧吗?😊 本文基于IPython Cookbook第二版的实战经验,为您揭秘5个提升工作效率的自定义Notebook高级技巧。无论您是数据科学家、机器学习工程师还是Python开发者,这些技巧都能帮助您打造更加强大的交互式计算环境。 ## 🎯 为什么需要自定义Notebook? IPython Cookbook第二版提供了丰富的Jupyt

gitblog_00078的博客 467

python常用的编程软件

重要的是,工具本身只是手段,最终目标应是高效地完成开发任务,因此建议开发者尝试多种工具,从而找到最适合自己的那一款。Google Colab则提供了免费的GPU资源,极大地降低了进行机器学习和深度学习的硬件门槛。例如,Thonny是为编程初学者设计的IDE,内置了简洁的调试器,能够一步步可视化程序的执行过程,非常适合教学场景。这些工具通常被称为集成开发环境(IDE)或代码编辑器,它们不仅提供语法高亮、代码自动补全等基础功能,还集成了调试、版本控制、项目管理等高级特性,是Python开发者不可或缺的助手。

sinat_39555003的博客 305

数据挖掘环境:虚拟机 Ubuntu 上安装 Python 和 Jupyter Notebook(IPython Notebook)完整步骤

Jupyter Notebook(此前被称为 IPython Notebook)是一个交互式笔记本,支持运行 40 多种编程语言,Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown,用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。在本文中我们将学习如何在 VMware 虚拟机 Ubuntu 上安装 Python 和 Jupyter Notebook,并对过程中可能出现的一些问题进行汇总归纳。

白鹿第一帅的 优快云 博客 8513

Ipython和Jupyter Notebook介绍

Ipython和Jupyter Notebook介绍

cnds123的专栏 4703

Jupyter Notebook 升级指南:从 IPython Notebook 平滑迁移到最新版 Jupyter

本篇技术指南聚焦于 Jupyter Notebook 的升级路径:面向 Anaconda 用户与 pip 用户分别给出可复制的升级命令,并系统讲解从旧版 IPython Notebook(3.0 及更早版本)升级到 Jupyter Notebook 的迁移细节——包括配置文件与数据文件的位置变更、环境变量、命令与导入路径的变化。阅读完本文,你将掌握 `conda update jupyter` 与

gitblog_00004的博客 515
上一篇: Python程序中的协程操作-gevent模块!
下一篇: Python快速开发分布式搜索引擎Scrapy精讲!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值