首页 > 解决方案 > Jupyter Notebooks 不显示进度条

问题描述

我正在尝试在 Jupyter 笔记本中显示进度条。这是一台新计算机,我通常做的似乎不起作用:

from tqdm import tqdm_notebook
example_iter = [1,2,3,4,5]
for rec in tqdm_notebook(example_iter):
    time.sleep(.1)

产生以下文本输出并且不显示任何进度条

HBox(children=(IntProgress(value=0, max=5), HTML(value='')))

同样,这段代码:

from ipywidgets import FloatProgress
from IPython.display import display
f = FloatProgress(min=0, max=1)
display(f)
for i in [1,2,3,4,5]:
    time.sleep(.1)

产生这个文本输出:

FloatProgress(value=0.0, max=1.0)

我是否缺少让 Jupyter 显示这些进度条的设置?

标签: pythonjupyter-notebookjupyter-labtqdm

解决方案


答案在这个 GitHub 问题中。

关键是确保您ipywidgets使用以下命令启用了笔记本扩展:

jupyter nbextension enable --py widgetsnbextension

对于旧的 JupyterLab 2.0,您还需要安装 JupyterLab 扩展

jupyter labextension install @jupyter-widgets/jupyterlab-manager

对于使用上述命令安装 JupyterLab 扩展的旧版 JupyterLab 2.0,您需要安装Node.js。Node.js 网站上的安装程序包括npm,它也是命令正常运行所必需的。

使用 JupyterLab 3.0ipywidgets时,当您使用pip或安装扩展程序时,将自动安装该扩展程序conda。JupyterLab 3.0 不再需要 Node.js。


推荐阅读