tqdm笔记本栏在Jupyter lab中输出文本。

17

在使用 Jupyter(版本 3.4.4)中的 tqdm.notebook 进度条时,我遇到了问题。当我启动一个 for 循环时,输出结果不是进度条,而是以下文本:

输入:

from tqdm.notebook import tqdm

for i in tqdm(range(100)):
    a = 1

输出:

root:
    n: 0
    total: 100
    elapsed: 0.01399087905883789
    ncols: null
    nrows: 29
    prefix: ""
    ascii: false
    unit: "it"
    unit_scale: false
    rate: null
    bar_format: null
    postfix: null
    unit_divisor: 1000
    initial: 0
    colour: null

我更新Jupyter到最新版本后,这种情况开始出现。关于Node.js和ipywidgets的通常解决方法(参见此处)没有起作用。

tqdm也是它的最新版本(4.63.0)。


1
我也遇到了同样的问题,这个错误报告 https://github.com/tqdm/tqdm/issues/1359 也涉及到了同样的问题,但目前还没有解决方案(如果我降级版本,就会出现其他问题)。 - Dr. Fabien Tarrade
1个回答

14

我在一个Docker化的JupyterLab服务中遇到了这个问题。

以下方法解决了我的问题:

  1. pip install -U jupyterlab-widgets==1.1.1
  2. pip install -U ipywidgets==7.7.2

谢谢!这解决了问题。不过,我觉得很奇怪,为什么我必须降级这两个包的版本才能让它工作... 这是tqdm依赖问题吗? - gorka.munoz
1
是的,目前降级ipywidgets应该可以作为临时解决方案,直到相关错误得到修复。对我来说,使用ipywidgets==7.7.2也起作用。 - T.V.
我也必须运行以下命令:jupyter labextension install @jupyter-widgets/jupyterlab-manager。然后,重新加载。 - Noel Victorino

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