【问题标题】:How to use a tqdm progress bar in Jupyter?如何在 Jupyter 中使用 tqdm 进度条?
【发布时间】:2021-06-23 00:28:35
【问题描述】:

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

【问题讨论】:

    标签: python jupyter-lab ipywidgets tqdm


    【解决方案1】:

    tqdm 的一个子模块与 jupyter 集成:https://github.com/tqdm/tqdm#ipython-jupyter-integration。如果您已经启用了小部件,它应该可以开箱即用。只需将任何 tqdm 调用替换为来自 tdqm.notebook 子模块的等效调用,即 import

    from tqdm.notebook import trange, tqdm
    

    而不是

    from tqdm import trange, tqdm
    

    这假设您实际上是直接在笔记本中调用 tqdm,并且该调用没有隐藏在您的其他模块代码中。如果是这种情况,您可能需要传递参数或修补 tqdm 调用。

    【讨论】:

    • 我已经在使用第一行了。但我已经找到了解决方案。只需将任何输出附加到输出小部件,如下所述:ipywidgets.readthedocs.io/en/latest/examples/…
    • tqdm.auto 也很方便
    • 带有 tqdm.notebook.tqdm 的加载栏对我来说没有显示任何进度,直到我运行:pip install ipywidgets,然后jupyter nbextension enable --py widgetsnbextension,然后重新启动 Jupyter。 (Credits)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-01
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-24
    相关资源
    最近更新 更多