jupyter 实验室中的自动单元执行时间

Posted

技术标签:

【中文标题】jupyter 实验室中的自动单元执行时间【英文标题】:Automatic cell execution timing in jupyter lab 【发布时间】:2019-11-12 14:05:07 【问题描述】:

在jupyter notebook中,我可以用nbextensions配置一个自动cell计时,结果是这样的:

如何在 jupyter lab 中做到这一点?我没有找到任何类似的扩展。

Obs.:我知道用 %%time 魔法可以达到类似的结果,但我希望它是自动的,所以我不必将魔法函数放在每个单元格的开头。

【问题讨论】:

如果您不介意自己编写代码,您可以使用 post 和 pre excute 钩子,就像在这个答案中:***.com/a/50648266/6646912 官方线程:github.com/jupyterlab/jupyterlab/issues/3320 有帮助吗? 【参考方案1】:

感谢@welcome_back 的回答,但您不必弄乱 jupyter 扩展管理器,尤其是当您担心该警告时。

在 3 步中启用执行时间

安装这个包 !pip install jupyterlab_execute_time 重新加载jupyterlab页面(无需关闭) 进入 jupyterlab 高级设置中的笔记本部分并粘贴此代码
"recordTiming": true
瞧!你完成了! ?

【讨论】:

【参考方案2】:

不需要扩展。

只需使用(在任何单元格):

try:
    %load_ext autotime
except:
    !pip install ipython-autotime
    %load_ext autotime

要停止单元格计时,请使用:

%unload_ext autotime

【讨论】:

【参考方案3】:

要求

JupyterLab >= 2.0.2

让我们一步一步来

jupyter lab 中的可用扩展是

jupyterlab-执行时间

首先启用扩展管理器

启用后,您会在“扩展管理器”末尾的侧面任务栏中看到新按钮

您也可以通过以下步骤启用它:

    进入高级设置编辑器。 打开扩展管理器部分。 添加条目“启用”:true。 保存设置。 如果提示您是否确定,请阅读警告,如果您仍然确定,请单击“启用”。 启用后,您应该会在左侧边栏中看到一个新选项卡

默认情况下,免责声明是不被承认的。

由于未确认免责声明,您可以搜索扩展程序,但无法安装(没有安装按钮可用)。

要安装扩展程序,您首先必须明确承认免责声明。完成后,这将在会话中保留,用户无需再次检查。

查找扩展

搜索 jupyterlab-execute-time

安装 启用

启用后,您必须重建它:打开一个小弹出窗口,点击 Rebulid;

然后你必须重新启动内核

你仍然发现你将无法看到你想要的:

最后一件事

注意:要显示任何内容,您需要通过设置->高级设置编辑器->笔记本在笔记本中启用单元格计时:“recordTiming”:true

高级设置编辑器

终于 "recordTiming"=true

并保存在右端!

【讨论】:

你是我的主和救世主! 您好,感谢您的详细解释。我收到错误消息:``` 安装 jupyterlab-execute-time 时出错。错误消息:扩展“jupyterlab-execute-time”尚不支持当前版本的 JupyterLab。冲突的依赖关系:JupyterLab 扩展包 >=3.0.4 =2.0.2 =3.0.4 =2.0.2 =3.0.2 =2.0.1 @LeonidGaneline 它不适用于您的 jupyter-lab 版本。它支持 截至 21 年 4 月 2 日,这适用于 JupyterLab v3.0.12。 就我而言,最后一步:刷新浏览器,这样jupyterlab就可以重建并显示计时信息。

以上是关于jupyter 实验室中的自动单元执行时间的主要内容,如果未能解决你的问题,请参考以下文章

由 jupyter notebook 中的依赖项执行

阻止 jupyter notebook 单元执行,直到收到特定消息

如何通过 REST API 与 Jupyter 笔记本中的代码单元进行交互?

Jupyter笔记本没有执行单元格?

用 papermill 参数化和自动化 Jupyter

用 papermill 参数化和自动化 Jupyter