JupyterLab 3.0,极其强大的下一代notebook!_菜鸟学Python的博客-程序员秘密

技术标签: python  git  数据分析  人工智能  编程语言  

选自blog.jupyter.org  作者:Jeremy Tuloup

机器之心编译

超强下一代 Jupyter Notebook :JupyterLab 3.0 已经发布了,新版本为用户带来了许多新特性,并对扩展系统进行了实质性的改进。

JupyterLab 是广受欢迎的 Jupyter Notebook「新」界面。它是一个交互式的开发环境,可用于 notebook、代码或数据,因此它的扩展性非常强。用户可以使用它编写 notebook、操作终端、编辑 markdown 文本、打开交互模式、查看 csv 文件及图片等。除此以外,JupyterLab 还具有灵活而强大的用户界面。就在近日,这款好用的工具发布了新版本 JupyterLab 3.0。

JupyterLab 3.0 在以下几个方面进行了改进:

  • 可视化调试器;

  • 支持多种显示语言;

  • notebook 目录;

  • 扩展系统。

3 种安装方式

JupyterLab 3.0 的安装方式有 3 种,第一种采用 pip 方式进行安装,代码如下:

pip install jupyterlab==3

第 2 种采用 mamba(快速跨平台软件包管理器)方式进行安装,代码如下:

mamba install -c conda-forge jupyterlab=3

第 3 种采用 conda 方式进行安装,代码如下:

conda install -c conda-forge jupyterlab=3

需要注意,为了兼容 JupyterLab 3.0,许多第三方扩展仍在更新中,所以用户需要检查自己使用的扩展,必要时也可以更新这些扩展。接下来详细介绍 JupyterLab 3.0 在面向用户使用方面的一些主要改进。

JupyterLab 3.0 新特性

可视化调试器

JupyterLab 3.0 现在具备可视化调试器功能了。为了使用可视化调试器,用户首先需要一个支持调试器的内核。Xeus-Python 内核是第一个支持 Python 代码调试的 Jupyter 内核。展示如下:

在 JupyterLab 3.0 中使用可视化调试器进入 Python 程序。

更多详细文档请参阅:https://jupyterlab.readthedocs.io/en/stable/user/debugger.html

目录扩展

现在 JupyterLab 3.0 提供了目录扩展,使得用户更方便地查看和浏览文档结构。展示如下:

在 JupyterLab 3.0 使用目录功能。

支持多种语言显示

JupyterLab 3.0 提供了设置用户界面显示语言的功能。若要使用这种功能,用户需要将语言包作为单独的 Python 包安装。语言包在 GitHub 项目中已经分组,采用 pip 的方式就可以安装。例如,使用以下代码可以安装简体中文语言包:

pip install jupyterlab-language-pack-zh-CN

以简体中文显示的 JupyterLab 3.0 界面。

关于添加新语言包请参考:https://jupyterlab.readthedocs.io/en/stable/user/language.html

简单交互界面模式的改进

JupyterLab 3.0 对简单交互界面模式(即以往的单文档显示模式)进行了更新,使交互界面模式更流畅、更能面向文档。用户可以使用状态栏中的开关切换简单交互界面模式,也可以从视图菜单或命令面板中切换或者使用默认快捷键「Ctrl/Cmd+Shift+D」。

启用和禁用简单交互界面模式。

JupyterLab 3.0 对移动设备的支持也得到了很大的改进。用户可以对窗口进行缩展,使布局更加紧凑。当窗口缩小时,JupyterLab 自动切换到简单交互界面模式。

JupyterLab 在屏幕缩小时自动切换到简单交互界面模式。

目前这项功能正在不断的迭代更新,使得这个交互界面在移动设备上更容易访问。

使用 pip 和 conda/mamba 方式安装新的扩展

JupyterLab 扩展现在可以作为预构建的扩展进行分发,而不需要用户重新构建 JupyterLab 或安装 Node.js。用户可以使用熟悉的包管理器(如 pip、conda 和 mamba)将预构建的扩展作为 Python 包分发,从而使得安装和使用扩展更快更方便。

采用 pip 方式安装新的扩展。

预构建的扩展可以作为单独的包发布到 PyPI 和 conda-forge 中,或者捆绑到带有 Jupyter 服务器扩展和 Classic Notebook 扩展的包中。这些有助于整个系统的一致性。

例如:使用 pip 或 conda 方式安装新的 ipywidgets 7.6.0,以在典型的 Jupyter Notebook 和 JupyterLab3.0 中自动启用 ipywidgets—无需额外的步骤或者重建 JupyterLab。

在 JupyterLab 3.0 中自动安装 ipywidgets。

改进 Extension Author 的工作流程

新的预构建扩展对于 Extension Author 来说开发起来非常方便。TypeScript 扩展 cookiecutter 已经更新为默认情况下开发预构建的扩展,并提供了所有必要的工具来快速从头开始创建新的扩展。

关于扩展的更多信息,请参考:

  • https://jupyterlab.readthedocs.io/en/stable/extension/extension_dev.html

  • https://jupyterlab.readthedocs.io/en/latest/extension/extension_migration.html

如果你正在寻找示例来学习如何制作自己的扩展,请查看 GitHub 上的扩展示例库。这些示例已经更新兼容 JupyterLab 3.0,并提供了开发扩展的手动方法。

扩展示例库地址:https://github.com/jupyterlab/extension-examples

变更日志

上述内容仅仅概述了 JupyterLab 3.0 的新功能。如果你想要浏览更完整的变更列表,包括错误修复等,请查看详细变更日志。

  • 详细变更日志地址:https://jupyterlab.readthedocs.io/en/stable/getting_started/changelog.html#v3-0

  • JupyterLab 3.0 测试地址:https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/3818244?urlpath=lab

原文链接:https://blog.jupyter.org/jupyterlab-3-0-is-out-4f58385e25bb

福利
入门Python的最强三件套《ThinkPython》、《简明Python教程》、《Python进阶》的PDF电子版已打包提供给大家,关注下方公众号,在后台回复关键字「P3」即可获取。

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片
点阅读原文,领AI全套资料!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cainiao_python/article/details/119745449

智能推荐

Docker基础-镜像_Lemonade and coffee的博客-程序员秘密

Docker 镜像分层存储因为镜像包含操作系统完整的 root 文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。所以严格来说,镜像并非是像一个 ISO 那样的打包文件,镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。镜像构建时,会一层层构建,前一层是后一层的基础。每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层。比如,删除前一层文件的操作,实际不是

数字和为sum的方法数(给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。 当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。)_木阿南二三记的博客-程序员秘密

数字和为sum的方法数题目描述:给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。输入描述:输入为两行:第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000)第二行为n个正整数A[i](32位整数),以空格隔开。输出描述:...

虚幻引擎图文笔记:容器(一)动态数组TArray(补充FindByPredicate)_开发游戏的老王的博客-程序员秘密

UE4自己封装的这套泛型容器使用起来非常方便,本文仅记录其中动态数组TArray的基本用法,还有更多的功能后面会陆续补充。

替换空格(StringBuffer、String语法)_永夜莫明的博客-程序员秘密

题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { return str.toString().replace(" ","...

SQL0805N 找不到程序包 "NULLID.SQLUFG13 0X4141414141594758"。 SQLSTATE=51002_对的man的博客-程序员秘密

## import from d:/tobacco.del of del insert into g_tobacco在导入数据时,发生如下错误SQL3015N  处理期间发生 SQL 错误 "-805"。SQL0805N  找不到程序包 "NULLID.SQLUFG13 0X4141414141594758"。  SQLSTATE=51002提示说package NULLID.

随便推点

WPF 获得控件的父控件_wpf如何获取或设置控件的父容器_87222643hxq的博客-程序员秘密

通过VisualTreeHelper去取就行了。代码参考:前台: 后台: private void btn_Click(object sender, RoutedEventArgs e) { Button btn = sender as Button;

《大雄学设计模式--(2)备忘录模式》_WuchangI的博客-程序员秘密

情景引入:        傍晚夕阳的玫瑰色的余晖铺满了大地,一切都是那么美好。大雄一边吹着口哨,一边迈着轻快的步伐背着书包进了家门。原来,这次大雄的数学破天荒考了个75分(要知道,以前他是经常不及格的)。为了表扬他,大雄妈妈也满足了他的一个小心愿,买了一个全新的掌上游戏机送给了他,也不忘叮嘱他要再接再厉

图片分类生成TFrecord格式_雪地二哈的博客-程序员秘密

TFrecord生成在tensorflow框架上进行猫狗分类任务,所有图像放在一个文件夹下。如下图所示,所有图片名为"所属类别.number.jpg"。import tensorflow as tfimport osimport numpy as npfrom PIL import Imagefrom sklearn.model_selection import train_test_...

Linux防火墙iptables_雪風会保护大家的的博客-程序员秘密

一 前言防火墙是一种位于内部网络与外部网络之间的网络安全系统,可以是硬件也可以是软件。防火墙一般分为工作在网络层的网络防火墙和工作在应用层的应用网关(代理网关)。二 iptables工作原理主机处理数据包的过程:当主机收到一个数据包后,数据包先在内核空间中处理,若发现目的地址是自身,则传到用户空间中交给对应的应用程序处理,若发现目的不是自身,则会将包丢弃或进行转发。iptables在数据包经过内核的

python http请求库_python 请求库_SakuraZ的博客-程序员秘密

Python中http请求方法库汇总一、python自带库----urllib2python自带库urllib2使用的比较多,简单使用如下:import urllib2response = urllib2.urlopen('http://localhost:8080/jenkins/api/json?pretty=true')print response.read()...

android中使用iconfont图标字体_yu_duan的博客-程序员秘密

和阿里聚划算团队的接触,了解了iconfont;(我们可以把app中图标替换成iconfont来实现)为什么要使用iconfont代替ImageView来实现app中图标的显示? 1.图标集中处理,存放在.ttf文件中,避免重复资源。 2.减少app包的大小,每个icon只是一小段文本,文件的大小要比图片形式的icon小的多。 3.节省内存,iconfont与普通

推荐文章

热门文章

相关标签