如何在Jupyter中使用tqdm进度条?

5

我正在使用Jupyter小部件编写界面,用户可以配置一堆设置然后点击“运行”按钮。在点击该按钮时,会调用另一个模块中实现的函数。该函数需要一些时间才能运行,因此我使用了tqdm包为其添加了进度条。但不幸的是,当我点击“运行”时,这个进度条现在显示在另一个终端中,而不是在单元格的输出中。是否有方法使进度条在同一个单元格输出中显示?

1个回答

4

tqdm 有一个子模块与 jupyter 集成: https://github.com/tqdm/tqdm#ipython-jupyter-integration。如果您已启用小部件,则应该可以直接使用它。只需将任何 tqdm 调用替换为其相应的 tqdm.notebook 子模块,即可导入。

from tqdm.notebook import trange, tqdm

取代

from tqdm import trange, tqdm

假设您在笔记本中直接调用tqdm,并且该调用未嵌入到其他模块代码中。 如果是这种情况,您可能需要通过传递参数或修补tqdm调用来解决。


我已经在使用第一行了。但是我已经找到了一个解决方案。只需按照此处的说明将任何输出附加到Output小部件即可:https://ipywidgets.readthedocs.io/en/latest/examples/Output%20Widget.html - GuPe
tqdm.auto 也很方便。 - krassowski
使用tqdm.notebook.tqdm加载条没有进度显示,直到我运行了以下命令: pip install ipywidgets 然后执行 jupyter nbextension enable --py widgetsnbextension 最后重启Jupyter。 - dasWesen
绝妙的答案 - 直接就能用! - jtlz2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接