JupyterLab使用教程

2023-05-16

JupyterLab使用教程

  • 一、Jupyter简介
    • 1. 用户接口
    • 2. 架构原理
      • 1)IPython Kernel
      • 2)Jupyter Notebook接口
      • 3)Notebook导出为其它格式
      • 4)Projects overview
  • 二、JupyterLab安装和基本使用
    • 1. 安装
    • 2. 界面初识
      • cell的三种类型
      • notebook支持两种模式
      • 菜单
    • 3. 工作目录、Notebook文件
      • 工作目录
      • Notebook文件
    • 4. 在jupyter中使用shell命令
  • 三、快捷键
    • 1. 通用快捷键(两种模式通用)
    • 2. 命令行模式(按 Esc 生效)快捷键
    • 3. 编辑模式(按 Enter 生效)快捷键
    • 4. 自己动手设置快捷键
  • 四、魔法命令
    • 1. 查看魔法命令
    • 2. 行魔法命令
    • 3. 单元魔法命令
  • 五、扩展组件
    • 1. 准备工作
    • 2. 插件的安装
    • 3. 常用插件
  • 六、远程访问
    • 1. 生成配置文件
    • 2. 生成访问密码
    • 3. 修改配置文件
    • 4. 启动JupyterLab服务为后台进程

一、Jupyter简介

Jupyter

Jupyter源于Ipython Notebook项目,是使用Python(也有R、Julia、Node等其他语言的内核)进行代码演示、数据分析、机器学习、可视化、教学的非常好的工具,对Python的愈加流行和在AI领域的领导地位有很大的推动作用。

Jupyter目前支持超过40种编程语言,包括 Python, R, Julia, and Scala等。

1. 用户接口

  • JupyterLab

    最新的基于web的交互式开发环境,适用于notebook、code和data。其灵活的界面允许用户配置和设计数据科学、科学计算、计算新闻和机器学习领域的工作流。模块化设计可以轻松的实现更多扩展功能。

    本文主要讲解Jupyterlab的基本使用。

    • 安装:pip install jupyterlab
    • 启用:jupyter lab
  • Jupyter Notebook

    上一代的基于 Web 的交互式开发环境,其功能在JupyterLab中已经包含,建议使用JupyterLab。

    • 安装:pip install jupyter
    • 启用:jupyter notebook
  • nbclassic

    NBClassic 将基于 Jupyter Server运行Jupyter Notebook。

    这个项目为JupyterLab和其他前端切换到Jupyter服务器作为Python Web应用程序后端做准备。使用这个包,用户可以在新的Python服务器后端上并排启动Jupyter Notebook、JupyterLab和其他前端。

    • 安装:pip install nbclassic
    • 启用:jupyter nbclassic
  • Jupyter Console

    控制台前端

    • 安装 :pip install jupyter-console
    • 启用:jupyter console
  • Qt console

    Qt控制台是一个非常轻量级的应用程序,在很大程度上感觉像一个终端,但它提供了一些只有在GUI中才可能实现的增强功能,例如内联图形、带有语法高亮显示的多行编辑、图形化调用提示等等。Qt控制台可以使用任何Jupyter内核。

    • 安装:pip install qtconsole
    • 启用:jupyter qtconsole
  • Voilà

    Voilá允许你将Jupyter笔记本转换成一个交互式仪表板,让你可以与他人分享你的工作。

    • 安装:pip install voila
    • 启用:voila <path-to-notebook> <options>

2. 架构原理

1)IPython Kernel

所有其他接口(包括Notebook、Qt控制台、ipython控制台和第三方接口)都使用IPython Kernel。IPython Kernel是一个独立的进程,负责运行用户代码,以及计算可能的完成情况。前端(如Notebook或Qt控制台)通过使用ZeroMQ套接字发送的JSON消息与IPython内核进行通信;前端和IPython内核之间使用的协议在Jupyter中的消息传递中进行了描述。

ipy_kernel_and_terminal

这种设计的目的是允许基于同一内核轻松开发不同的前端,同时,也可以通过开发新的内核来支持新的编程语言。目前有两种方法可以为另一种语言开发内核:

  • Wrapper Kernel,重用IPython的通信机制,只实现核心执行部分
  • Native Kernel,采用目标语言实现执行和通信

other_kernels

2)Jupyter Notebook接口

Jupyter Notebooks是包含了代码、元数据、内容和输出的结构化数据。当保存到磁盘时,文件扩展名为.ipynb,并使用JSON结构。有关notebook格式结构和规范的更多信息,请参阅nbformat文档。

  • Notebook server:不是内核,它主要负责保存和加载notebook,所以你可以编辑notebook,即使你没有该语言的内核(当然也无法运行代码)。

  • Kernel:对notebook文档一无所知:当用户运行它们时,它只接收要执行的代码单元。

notebook_components

3)Notebook导出为其它格式

使用工具 Nbconvert 将notebook文件导出为其他格式,比如HTML, LaTeX, 或者reStructuredText等。转换过程如下:

nbconvert

  • Preprocessors:在内存中修改notebook。比如:ExecutePreprocessor运行notebook中的代码并更新输出

  • Exporter: 转换notebook为其他格式。

  • Postprocessors:处理导出的文件。

4)Projects overview

下面是截至2017年的项目关系的图:

repos_map

二、JupyterLab安装和基本使用

Jupyter lab是Jupyter的下一代基于Web的交互式开发环境,是 Jupyter Notebook的升级版。

1. 安装

在安装JupyterLab之前,需要安装Python环境:

  • 第一种选择,安装Python官方的发行版
  • 第二种选择,安装Anaconda发行版本,建议在安装Python环境时首选Anaconda。

如果安装的Anaconda发行版,该版本已经包含了JupyterLab,所以不需要再另外安装,否则按如下命令进行安装。

# 安装前先升级下pip
python -m pip install --upgrade pip			
# 开始下载安装pip
pip install jupyterlab
# 如果已经安装过JupyterLab,可以使用下面的命令更新到新版本
pip install --upgrade jupyterlab

安装好后,启动JupyterLab

jupyter lab

默认情况下,启动成功后,会自动打开浏览器进入JupyterWeb界面(建议将Chrome、Edge或者firefox浏览器设为默认浏览器,不要使用IE浏览器),如果看到2中的界面,表示成功了。

2. 界面初识

JupyterLab界面

当点击左边栏的文件浏览(File Browser)按钮,可以查看到notebook的root目录下的文件,上面有添加文件和文件夹、上传文件、刷新文件列表等按钮。

右边是notebook的工作区域, 整个notebook由单元格(cell)组成,以工作区域的上面有notebook的保存、单元的添加、删除、运行、单元类型切换等按钮。

cell的三种类型

  • Code:编辑代码,运行后显示代码运行结果
  • Markdown:编写Markdown文档,运行后输出Markdown格式的文档)
  • Raw:普通文本,运行不会输出结果

notebook支持两种模式

该方式起源于vim编辑器。

  • 编辑模式:
    • 进入方式:命令模式下按Enter键或者鼠标点击Cell的编辑框进入编辑状态
    • 主要操作:可以操作代码或文本的编辑、剪切、复制 、粘贴等操作
  • 命令模式
    • 进入方式:Esc键或者鼠标点击Cell编辑框前方的空白区域进入命令模式。
    • 主要操作:可以操作cell单元本身,比如进入单元的删除、添加、剪切、复制 、粘贴、移动等操作

菜单

  • 文件(File):与文件和目录有关的操作
  • 编辑(Edit):与编辑文档和其他活动有关的动作
  • 视图(View):视图相关操作
  • 运行(Run):用于在不同活动(例如笔记本和代码控制台)中运行代码的动作,可运行选中单元,也可以运行所有单元
  • 内核(Kenel):内核的起、停、切换等相关操作
  • 标签(Tabs):停靠面板中打开的文档和活动的列表
  • 设置(Settings):常用设置和高级设置编辑器
  • 帮助(Help):JupyterLab和内核帮助链接的列表。

3. 工作目录、Notebook文件

工作目录

  • 由启动jupyterLab的启动参数--notebook-dir指定

    jupyter lab --notebook-dir="E:/Projects"
    
  • 如果没有指定参数--notebook-dir,则由配置文件中的参数c.ServerApp.root_dir指定

    配置文件可以通过下面命令生成(可参考第五部分内容进行设置):

    jupyter lab --generate-config
    
  • 如果配置文件中也没有指定,工作目录由启动JupyterLab时的当前路径决定。

Notebook文件

Notebooks是包含了代码、元数据、内容和输出的结构化数据。当保存到磁盘时,文件扩展名为.ipynb(存储在工作目录下的某个子目录中),并使用JSON结构。

在这里插入图片描述

文件名的修改可以在文件系统中修改,也可以在Web界面右键进行修改

4. 在jupyter中使用shell命令

当你正在使用Python编译器,需要用到命令行工具的时候,麻烦的事情就出现了:要在shell和IDLE之间进行切换。

但是,如果你用的是Jupyter,就完全不用这么麻烦,你可以直接在命令之前加一个!,就能执行shell命令,完全不用来回切换,就能在Jupyter中执行任何命令。

下面是在windows系统中,使用命令dir查看当前目前的文件内容

在这里插入图片描述

比如我们需要使用pip安装包的时候,便可以直接在JupyterLab的某个文档的单元中运行!pip install xxxx即可。

三、快捷键

快捷键可以干嘛,它不仅可以大大提高开发效率,还可以用来装X,正所谓一顿操作猛如虎。

不管你是奔着什么目的,都有必要掌握常用的快捷方式,下面按不同的模式列出了基本的快捷方式,并在自己经常使用的快捷方式前加*注明。

1. 通用快捷键(两种模式通用)

*Shift-Enter : 运行本单元,选中下个单元
*Ctrl-Enter : 运行本单元
*Alt-Enter : 运行本单元,在其下插入新单元
*Ctrl-S: 保存并检查

2. 命令行模式(按 Esc 生效)快捷键

*Enter: 进入编辑模式
*Y : 单元格转入代码状态
*M :	单元格转入markdown状态
R : 单元格转入raw状态
1 : 设定 1 级标题
2 : 设定 2 级标题
3 : 设定 3 级标题
4 : 设定 4 级标题
5 : 设定 5 级标题
6 : 设定 6 级标题

*A: 在上面插入单元格
*B: 在下面插入单元格
*X: 剪切选择的单元格
*C: 复制选择的单元格
*V: 粘贴到下面
*Z: 撤销单元格操作
*D,D: 删除选中单元格

K: 选择上面的单元格
↑: 选择上面的单元格
↓: 选择下面的单元格
J: 选择下面的单元格
Shift-K: 扩展上面选择的单元格
Shift-↑: 扩展上面选择的单元格
Shift-↓: 扩展下面选择的单元格
Shift-J: 扩展下面选择的单元格
Ctrl-A: 选择所有的单元格

*Shift-M: 合并选中单元格, 如果只有一个单元格被选中,合并下方的单元格
S: 保存并检查

I,I: 中断服务
0,0: 重启服务(带窗口)

Shift-L: 在所有单元格中切换行号,并保持设置
*Shift-空格: 向上滚动
*空格: 向下滚动

Ctrl+Shift+[: 向左切换文档
Ctrl+Shift+]:向右切换文档

3. 编辑模式(按 Enter 生效)快捷键

Ctrl-M: 进入命令行模式
*Esc: 进入命令行模式
*Tab : 代码补全或缩进
*Shift-Tab : 提示或解除缩进
Ctrl-] : 缩进
Ctrl-[ : 解除缩进
Ctrl-A : 全选
*Ctrl-Z : 撤销
*Ctrl-Shift-Z : 重做
Ctrl-Y : 重做
Ctrl-Home : 跳到单元开头
Ctrl-End : 跳到单元末尾
Ctrl-Left : 跳到单词左边
Ctrl-Right : 跳到单词右边
Ctrl-Backspace: 删除前面的单词
Ctrl-Delete: 删除后面的单词
*Ctrl-Shift-- : 分割单元
*Ctrl-/: 注释或解除注释
*Ctrl-D: 删除整行
Ctrl-U: 撤销选择
Alt-U: 重新选择
Insert: 切换重写标志
↓: 光标下移
↑: 光标上移

4. 自己动手设置快捷键

在这里插入图片描述

四、魔法命令

并且都以%符号作为前缀

IPython魔法命令设计用于简洁地解决标准数据分析中的各种常见问题。魔法命令有两种形式:

  • 行魔法(line magic):以单个%字符作为前缀,作用于单行输入
  • 单元魔法(cell magic):以两个%%作为前缀,作用于多行输入。

1. 查看魔法命令

%magic: 输出所有魔法指令帮助文档
%lsmagic:列出所有magics命令 
%quickref:输出所有魔法指令的简单版帮助文档
%MagicName?:输出某个魔法命令详细帮助文档 

查看魔法命令简单版的帮助文档

在这里插入图片描述

查看time魔法命令的使用帮助文档

%time

2. 行魔法命令

这里只列出一些常用的行魔法命令:

  • %automagic:如果automagic被打开,魔法命令可以省略前面的% 符号

  • %run:执行脚本

%run test.py

在这里插入图片描述

  • %time:计算接下来一行的Python语句的执行时间

  • %timeit:计算接下来一行的Python语句多次执行后的平均时间

%timeit L = [n ** 2 for n in range(100000)]

在这里插入图片描述

  • %history:获取此前所有的输入历史

  • %xmode:设置异常模式,即当代码有异常时,出错信息的输出方式,可以设置Plain、Context、Verbose和Minimal四种模式

  • %pip:在cell中使用pip指令

  • shell相关魔法命令

    • %cd%cat%cp%env%ls%man%mkdir%more%mv%pwd%rm%rmdir、…

在这里插入图片描述

注意:魔法方法提供了部分shell命令的功能,另外,我们也可以通过!cmd的方式运行相关shell命令。但要注意它们的区别:

  • !开一个新的progress,执行完之后立即终止。如果执行的命令是切换目录,则不会对当前进程产生影响。
  • %的操作会持续。如果使用%cd切换目录后,直接影响是当前进程。

3. 单元魔法命令

  • %%time:处理多行输入

  • %%timeit:处理多行输入

%%timeit
L = [n ** 2 for n in range(100000)]
L = [n ** 2 for n in range(100000)]

在这里插入图片描述

  • %%writefile:将当前cell中内容写入文件中
%%writefile test.py
print('hello world!')

在这里插入图片描述

  • %%latex:写Latex公式
%%latex
\begin{equation}
  \int_0^\infty \frac{x^3}{e^x-1}\,dx = \frac{\pi^4}{15}
  \label{eq:sample}
\end{equation}

在这里插入图片描述

  • %%script :写bash、perl、javascript、js 等命令

五、扩展组件

Jupyter让很多人喜欢的原因在于它提供了丰富的插件,包括显示代码执行时间、生成目录、显示变量名、代码块折叠等各种让你舒适的功能。

1. 准备工作

在进行JupyterLab插件安装之前,需要安装node.js 和 npm,可运行如下命令进行安装。

!pip install nodejs npm -i https://pypi.tuna.tsinghua.edu.cn/simple

注意,命令前面加!是因为在jupyterlab中运行的,如果在终端运行的安装命令,去掉!

2. 插件的安装

进入JupyterLab后,可以在Web上查看已安装组件,搜索安装需要的插件

在这里插入图片描述

注意:如果没有出现插件选项卡,可以通过 setting–>Advanced Settings Editor–Extension Manager :在User Overrides 添加语句{“enabled”: true},最后保存,就可以出现插件选项

当然,你也可以使用命令行方式进行插件的查看、安装、更新和删除

查看已安装插件:jupyter labextension list

更新已安装插件:jupyter labextension update --all

安装插件toc:jupyter labextension install @jupyterlab/toc

删除插件toc:jupyter labextension uninstall @jupyterlab/toc

3. 常用插件

  • go to definition: 在Lab笔记本和文件编辑器中跳转到变量或函数的定义。

  • lsp:自动补全、参数建议、函数文档查询、跳转定义等

    • 安装:

      pip install jupyterlab_sql
      jupyter serverextension enable jupyterlab_sql --py --sys-prefix
      jupyter lab build
      

      或者在Web的插件选项中搜索安装

  • sql: 可以在Lab中连接数据库,并进行sql查询和修改操作

  • drawio:非常棒的流程图工具

    • 安装:pip install jupyterlab-drawio或者在Web的插件选项中搜索安装

    在这里插入图片描述

  • spreadsheet:在Lab上显示excel表格(只读模式)

  • gather: 在Lab中清理代码,恢复丢失的代码以及比较代码版本的工具

  • github: 安装后Lab左侧会出现一个github栏按钮,你可以在里面搜索github项目,并且打开项目里面的文件,如果是notebook文件,能够直接运行代码

  • toc: 方便地在Lab上展示notebook或者markdown的目录

  • LaTeX:编辑并预览LaTeX文档

  • HTML: Lab内部呈现HTML文件

  • plotly(https://github.com/jupyterlab/jupyter-renderers): 展示plotly可视化效果

  • bokeh: 展示bokeh可视化效果

  • variableinspector: 在Lab中展示代码中的变量及其属性,类似RStudio中的变量检查器

  • matplotlib:启用matplotlib可视化交互功能

  • dash: 展示plotly dash交互式面板

  • monitor: 系统监视器是用于显示系统信息(内存和 cpu 使用情况)的 JupyterLab 扩展。它用于监视自己的资源使用情况。

六、远程访问

如果你有一台云服务器,是不是很想在服务器上配置好环境,在任何地方都可以通过浏览器进行访问使用呢?

考虑到服务器一般使用Linux,这里将以ubuntu为例,介绍如何配置远程访问方式,前提是服务器上已经安装好了JupyterLab。(如果是windows,亦是如此操作):

1. 生成配置文件

jupyter lab --generate-config

运行上面的命令后,会生成jupyter的配置文件,比如这里生成的配置文件为:/home/xiaobai/.jupyter/jupyter_notebook_config.py

在这里插入图片描述

2. 生成访问密码

运行如下代码,并输出访问Jupyter时密码,生成sha1加密密码

from jupyter_server.auth import passwd
passwd()

在这里插入图片描述

这里输入的密码是lab123,对应生成的sha1加密密码为:sha1:adbe516d2745:aae3a189602f2078a323c71b413fee063226f7ba

注意

  • 在旧版本的JupyterLab中,passwd导入方式改为:from notebook.auth import passwd

  • 输入密码时光标不会跳,千万不要以为没输入成功。

3. 修改配置文件

在上面命令生成的配置文件末尾添加如下内容,上面的配置文件是

c.ServerApp.ip = '0.0.0.0'             #设为0.0.0.1,将绑定所有地址,即所有IP地址都可以访问
c.ServerApp.password = u'sha1:adbe516d2745:aae3a189602f2078a323c71b413fee063226f7ba'
c.ServerApp.open_browser = False     #启动后是否在浏览器中自动打开
c.ServerApp.port = 8888               #指定一个访问端口80,默认8888
c.ServerApp.allow_root = False      	#允许root用户开启
c.ServerApp.notebook_dir = "/home/xiaobai/ipython"	#设置工作的文档目录

注意

  • 在JupyterLab的旧版本中,将c的设置项从ServerApp改为NotebookApp

  • allow_root: 如果用root 用户启动 jupyter lab时,必须将其设置为True。实际上不建议使用 root 启动,因为这样可能在浏览器端 cmd 窗口直接暴露 root 权限

  • password: 这里的密码是在第2步骤中生成的sha1加密版的密码。

  • port: 示例中设置的 8888 端口

    • 应该是一个未被占用的端口,如果设置的端口被已经被占用,会依次尝试后面的端口,比如8889。
    • 是一个被防火墙允许的端口,如果是阿里云、腾讯云等服务器需要在官网修改安全策略。
  • notebook_dir:

    • 设置的是工作的文档目录,需要自行选择并创建(否则运行时会报错)

    在这里插入图片描述

    mkdir /home/xiaobai/ipython
    

4. 启动JupyterLab服务为后台进程

nohup jupyter lab &

在这里插入图片描述

注意:输入的密码是加密之前的密码,比如在第2步中设置的是lab123,则输入lab123即可。

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

JupyterLab使用教程 的相关文章

  • OptiTrack Motive 使用教程

    相机标定 最近在使用Quanser的地面车做实验 xff0c 需要用到OptiTrack系统进行定位 xff0c 记录一下使用过程 xff0c 供需要的人参考 本文参考了以下博客 xff1a https blog csdn net banz
  • postman使用教程

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 市场上有很多优秀的 xff0c 完善的接口测试工具 xff0c 比如SoapUI xff0c Postman xff0c JMeter yapi等 xff0c
  • Source Insight使用教程

    作为一个开放源代码的操作系统 xff0c Linux 附带的源代码库使得广大爱好者有了一个广泛学习 深入钻研的机会 xff0c 特别是Linux 内核的组织极为复杂 xff0c 同时 xff0c 又不能像windows 平台的程序一样 xf
  • Putty使用教程

    Putty作为免费且开源的老牌 SSH 客户端 xff0c PuTTY 经常用于 Windows 下连接管理远程服务器 为方便刚接触 VPS 的新手参考使用 xff0c 本文配合截图介绍 PuTTY 的基础用法及一些设置技巧 xff0c 希
  • OOQP 使用教程 c++

    最近学习了一下OOQP的使用在这里记录一下 在matlab代码中是quadprog xff0c 而这次使用OOQP也主要是为了计算二次规划问题 安装OOQP 首先是安装问题 xff0c 不得不说 xff0c 当时安装也花了不少时间 xff0
  • 云服务器搭建神器JupyterLab(多图)

    云服务器搭建神器JupyterLab 多图 JupyterLab是一个交互式的开发环境 其用于应对包含着notebook 代码以及数据的工作场景 1 前言 如果说vim是编辑器之神 那么JupyterLab就是笔记本之神 从2017年开始我
  • Spire.XLS 图表系列教程:C# 设置 Excel 图表坐标轴格式

    更多资源查看 Spire XLS工作表教程 Spire Doc系列教程 Spire PDF系列教程 下载Spire XLS最新试用版 默认情况下 创建图表时 Excel会自动设置其坐标轴属性 这些属性包括坐标轴选项 例如边界最大值 边界最小
  • 获取当前的 jupyter-lab 笔记本名称 [适用于 Jupyter-lab 版本 2.1 和 3.0.1 以及笔记本版本 >6.0.3)

    Problem Hi all 正如我的标题所示 我想访问笔记本名称 在Jupyter实验室 作为变量 所以我可以在笔记本本身中重用它 例如 命名笔记本中生成的一些图形文件 我看到几年前就有人提出过类似的问题 看这里 然而我没有找到满意的答案
  • 在 Jupyter 实验室中以深色主题绘制 R 几乎不可见

    我尝试在 Jupyter 实验室中使用 R 内核进行绘图 并将 Jupyter 实验室主题设置为 Jupyterlab dark 下面是我的代码 options repr plot width 20 repr plot height 5 p
  • 如何在当前目录中启动 Jupyter Lab 而不更改默认值?

    我的 Jupyter Notebooks 有一个默认目录 我将其放在 Jupyter 设置中 所以默认情况下jupytr lab命令在我需要启动的地方启动我的 Jupyter 然而 有时我处理单独的项目 从命令行在当前工作目录中启动 Jup
  • 如何让 ipywidgets 在 Jupyter Lab 中工作?

    在 Jupyter Notebook 中 ipywidgets 工作正常 但它们似乎在 Jupyter Lab 中不起作用 据说比 Notebook 更好 我遵循了这些方向 https ipywidgets readthedocs io e
  • Jupyter Lab 显示小部件的问题(javascript 错误)

    我在新 PC 上复制 Jupyter Lab 安装时遇到问题 它在我的前一个上工作得很好 我无法显示简单的小部件 例如 ipywidgets 或 ipyvuetify 中的复选框 我检查了 jupyter widgets 是否已通过 jup
  • 如何在 Jupyterhub/Jupyterlab 中初始化笔记本/工作目录的内容?

    如果我在 JupyterHub 中创建一个新用户 我希望使用一些入门示例来初始化相应 JupyterLab 实例的工作目录 我已经安装了 Jupyterlab 的 git 扩展 有没有办法自动为新用户克隆 git 存储库 这是关于 Spaw
  • 如何使用键盘快捷键向上/向下移动 Jupyter 笔记本单元格?

    有人知道在 Jupyter 笔记本中向上或向下移动单元格的键盘快捷键吗 找不到捷径 有什么线索吗 以下解决方案适用于 JupyterLab 我目前拥有版本 2 2 6 您必须首先打开键盘快捷键配置文件 在 JupyterLab 中 您可以在
  • 如何启动默认启用深色主题的 jupyter lab?

    答案是这个问题 https stackoverflow com questions 40518614 how to apply theme to jupyter lab指出 JupyterLab Dark 主题现在作为原版的一部分提供jup
  • jupyterlab中初始化SparkContext时出错

    嗨 我正在尝试学习如何使用 pyspark 但是当我运行第一行时 import pyspark sc pyspark SparkContext local 我收到此错误 Py4JJavaError An error occurred whi
  • Jupyter Lab未使用虚拟环境

    我创建了一个虚拟环境并安装了ipython all and jupyter与点 当我跑步时jupyter lab 打开笔记本 并尝试导入我在虚拟环境中安装的包 我收到 ModuleNotFoundError Running ipython在
  • 为什么每次新编辑或输入内容时,我的 JupyterLab 单元格都会变成橙色?

    我最近在我经常工作的 conda 环境中的 anaconda 扩展中通过 jupyterlab scheduler 安装了 Cron 这是为了安排我的 jupyterlab 笔记本 然而 该应用程序出现了问题 所以我将其删除 尽管它似乎保留
  • 如何调整jupyterlab笔记本中滚动输出高度的大小?

    有没有办法调整 jupyterlab 笔记本中滚动输出高度的大小 潜在的解决方案 但需要 HTML CSS 知识 我从这个问题中找到了这个片段调整 ipython 笔记本输出窗口的大小 https stackoverflow com que
  • MathJax 自动方程编号在 Jupyter 中无法正常工作

    我想对 LaTeX 方程进行编号 我在网上搜索了我将使用的 javascript MathJax Hub Config TeX equationNumbers autoNumber all 我也用一个方程进行了测试 eqref In equ

随机推荐

  • gitlab搬迁到其它服务器

    由于一些因素 xff0c 需要把gitlab从A服务器搬迁到B服务器 xff0c 现记录步骤如下 xff1a 1 查看A服务器的gitlab版本号 xff1a cat opt gitlab embedded service gitlab r
  • 深度学习在图像超分辨率重建中的应用

    同步更新于知乎 xff1a https zhuanlan zhihu com p 25532538 超分辨率技术 xff08 Super Resolution xff09 是指从观测到的低分辨率图像重建出相应的高分辨率图像 xff0c 在监
  • Xorg 的认识

    1 什么是X Window服务器 xff1f 一种图形用户界面只不过是运行在系统上的一个应用程序 它不是 Linux内核的一部分 xff0c 也没有 集成在你的系统里 它是一个可以为你的工作站提供图形化工作界面的强大工具 由于标准的重要性
  • 利用Python获取带合并单元格的表格数据

    由于在日常运维中经常出现一些合并单元格的表格 xff0c 如果要获取数据比较麻烦 xff0c 现将将封装成类 xff0c 并通过调用list excel data 获取列表形式的数据 dict excel data xff1a 获取字典格式
  • 输出不重复的数组元素

    include lt stdio h gt include lt stdlib h gt include lt math h gt int main int n int f 61 1 scanf 34 d 34 amp n int a n
  • UDP编程之windows socket 缓冲区默认大小

    笔者遇到下位机发过来的几百k的文件 xff0c 为了调试方便 xff0c 一开始并没有加协议 后面发现在OnRecv的回调中打印消息时 xff0c 居然UDP丢包了 后面经过多次分析 xff0c 才发现windows默认的socket缓冲区
  • Wmmem占用内存、CPU过多

    Wmmem占用内存 CPU过多 1 问题描述2 解释 2 1 Vmmem是啥2 2 解决办法 1 问题描述 Windows10中 xff0c 没跑啥软件 xff0c 就看见内存满了 Vmmem占用最多 2 解释 2 1 Vmmem是啥 wi
  • Java基础篇:反射机制详解

    一 什么是反射 xff1a xff08 1 xff09 Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息 xff0c 从而操作类或对象的属性和方法 本质是JVM得到class对象之后 xff0c 再通过class对象进行反编
  • 使用linux裁剪树莓派完整sd卡镜像

    解决了最小镜像的制作问题以后 xff0c 就发现手里已经积攒了不少用Win32DiskImager制作的完整sd卡镜像 虽然压缩过了以后很小 xff0c 但是在恢复镜像时32G大小的写入速度简直慢到龟速 xff0c 所以我通过Ubuntu来
  • Arch 安装中文输入法

    推荐安装小狼毫输入法 安装 从官方仓库安装ibus软件包 xff1a span class hljs comment pacman S ibus span 此外 xff0c 为了启动ibus的Qt应用程序支持 安装ibus qt软件库 xf
  • angular11报错Can‘t bind to ‘ngForOf‘ since it isn‘t a known property of ‘tr‘. 三种排查办法以及解决方案

    当你遇到Can t bind to ngForOf since it isn t a known property of tr 34 无法绑定到 ngforof xff0c 因为它不是 tr 的已知属性 xff08 可能问题一 xff1a
  • 如何禁止DELETE、PUT、OPTIONS、TRACE、HEAD等协议访问应用程序

    简介 WebDAV xff08 Web based Distributed Authoring and Versioning xff09 是基于 HTTP 1 1 的一个通信协议 它为 HTTP 1 1 添加了一些扩展 xff08 就是在
  • c++对象模型系列

    一 指针与引用 一 概括 指针和引用 xff0c 在C 43 43 的软件开发中非常常见 xff0c 如果能恰当的使用它们能够极大的提 高整个软件的效率 xff0c 但是很多的C 43 43 学习者对它们的各种使用情况并不是都了解 xff0
  • ProxmoxVE 6.4-13 (PVE)安装 OpenWrt

    创建虚拟机没什么好说的 xff0c 和大多数教程一样 xff0c 主要记录下我遇到的问题 img2kvm报错 storage 39 vm 103 disk 0 39 does not exist 吐槽 xff1a 这玩意官网打不开 xff0
  • IOS学习笔记8—UITableViewController

    UITableViewController是IOS开发中一个比较重要的试图控制器 xff0c 是集成了UITableView视图的控制器 xff0c 在实际开发中经常用到 xff0c 功能非常强大 xff0c 可定制性也很高 xff0c 下
  • nanodet阅读:(2)正负样本定义(ATSS)

    一 前言 本篇博客主要是ATSS部分 xff0c 这部分个人认为是核心之一 xff0c 毕竟正负样本的选择很重要 xff0c ATSS论文证实 xff0c anchor based和anchor free性能差异的根本原因在于正负样本的定义
  • nanodet阅读:(3)Loss计算及推理部分

    一 前言 loss的计算是一个AI工程代码的核心之一 xff0c nanodet的损失函数与yolo v3 5系列有很大不同 xff0c 具体见Generalized Focal Loss xff0c 说实话一开始看这个损失函数博客 xff
  • nanodet阅读:(1)概述

    一 前言 出于某些需要 xff0c 阅读一下anchor free模型的代码 xff0c 因为之前用过nanodet xff0c 对其印象深刻 xff0c 所以重温一下代码 好记性不如烂笔头 xff0c 多记录 多总结 多分享 正如作者博客
  • c++循环引用

    虽然C 43 43 11引入了智能指针的 xff0c 但是开发人员在与内存的斗争问题上并没有解放 xff0c 如果我们使用 不当仍然有内存泄漏问题 xff0c 其中智能指针的循环引用缺陷是最大的问题 main cpp test Create
  • JupyterLab使用教程

    JupyterLab使用教程 一 Jupyter简介1 用户接口2 架构原理1 xff09 IPython Kernel2 xff09 Jupyter Notebook接口3 xff09 Notebook导出为其它格式4 xff09 Pro