0

Basically, I have read through multiple posts on this issue. However, mine is a little bit different, as I am dealing with nested loops. In particular, the inner loop uses concurrent.futures.ProcessPoolExecutor, I have tried adding a position parameter in tqdm(here) as well as updating the colorama package but all in vain. I still kept getting duplicated progress bars no matter what I do.

from concurrent.futures import ThreadPoolExecutor, as_completed
from tqdm import tqdm
import requests
import time
import random
def download_file(url, pbar):
    for _ in range(30):
        time.sleep(.50 * random.random())
        pbar.update(1)
    return url



if __name__ == "__main__":
    urls = ["http://mirrors.evowise.com/linuxmint/stable/20/linuxmint-20-xfce-64bit.iso",
            "https://www.vmware.com/go/getworkstation-win",
            "https://download.geany.org/geany-1.36_setup.exe"]
    
    aggregate_result = []
    with ThreadPoolExecutor(max_workers=3) as ex:
        r = range(3)
        with tqdm(r, position = 0) as pbar2:
            for _ in r :
                with tqdm(total=90, position = 1) as pbar:
                    futures = [ex.submit(download_file, url, pbar) for url in urls]
                    for future in as_completed(futures):
                        aggregate_result.append(future.result())
                        # pbar2.update(1)
                pbar2.update(1)

And this is my output in Spyder

  0%|          | 0/3 [00:00<?, ?it/s]
  0%|          | 0/90 [00:00<?, ?it/s]
  1%|          | 1/90 [00:00<00:15,  5.68it/s]
  4%|▍         | 4/90 [00:00<00:07, 11.82it/s]
  7%|▋         | 6/90 [00:00<00:07, 10.85it/s]
  9%|▉         | 8/90 [00:00<00:08,  9.27it/s]
 12%|█▏        | 11/90 [00:01<00:06, 11.81it/s]
 14%|█▍        | 13/90 [00:01<00:05, 13.22it/s]
 17%|█▋        | 15/90 [00:01<00:06, 11.37it/s]
 19%|█▉        | 17/90 [00:01<00:06, 11.77it/s]
 22%|██▏       | 20/90 [00:01<00:06, 11.34it/s]
 22%|██▏       | 20/90 [00:01<00:06, 11.34it/s]
 24%|██▍       | 22/90 [00:01<00:06, 10.19it/s]
 27%|██▋       | 24/90 [00:02<00:08,  7.72it/s]
 29%|██▉       | 26/90 [00:02<00:07,  9.07it/s]
 31%|███       | 28/90 [00:02<00:06,  9.91it/s]
 33%|███▎      | 30/90 [00:02<00:05, 11.16it/s]
 36%|███▌      | 32/90 [00:03<00:05, 10.77it/s]
 38%|███▊      | 34/90 [00:03<00:04, 11.31it/s]
 40%|████      | 36/90 [00:03<00:04, 11.71it/s]
 42%|████▏     | 38/90 [00:03<00:05,  9.82it/s]
 46%|████▌     | 41/90 [00:03<00:04, 12.16it/s]
 48%|████▊     | 43/90 [00:03<00:04, 11.47it/s]
 50%|█████     | 45/90 [00:04<00:04,  9.99it/s]
 52%|█████▏    | 47/90 [00:04<00:04,  8.76it/s]
 56%|█████▌    | 50/90 [00:04<00:03, 11.27it/s]
 58%|█████▊    | 52/90 [00:04<00:03, 11.90it/s]
 60%|██████    | 54/90 [00:05<00:03, 10.54it/s]
 63%|██████▎   | 57/90 [00:05<00:02, 13.69it/s]
 66%|██████▌   | 59/90 [00:05<00:02, 13.38it/s]
 68%|██████▊   | 61/90 [00:05<00:02, 11.85it/s]
 70%|███████   | 63/90 [00:05<00:02, 10.47it/s]
 74%|███████▍  | 67/90 [00:05<00:01, 14.20it/s]
 77%|███████▋  | 69/90 [00:06<00:01, 10.54it/s]
 79%|███████▉  | 71/90 [00:06<00:01, 11.05it/s]
 81%|████████  | 73/90 [00:06<00:01, 10.68it/s]
 83%|████████▎ | 75/90 [00:06<00:01,  9.37it/s]
 86%|████████▌ | 77/90 [00:07<00:01,  8.77it/s]
 89%|████████▉ | 80/90 [00:07<00:01,  9.97it/s]
 91%|█████████ | 82/90 [00:07<00:01,  7.50it/s]
 93%|█████████▎| 84/90 [00:08<00:00,  8.74it/s]
 93%|█████████▎| 84/90 [00:08<00:00,  8.74it/s]
 96%|█████████▌| 86/90 [00:08<00:00,  7.43it/s]
 97%|█████████▋| 87/90 [00:08<00:00,  7.06it/s]
 99%|█████████▉| 89/90 [00:09<00:00,  5.69it/s]
100%|██████████| 90/90 [00:09<00:00,  9.75it/s]
 33%|███▎      | 1/3 [00:09<00:18,  9.23s/it]
  0%|          | 0/90 [00:00<?, ?it/s]
  1%|          | 1/90 [00:00<00:16,  5.52it/s]
  4%|▍         | 4/90 [00:00<00:08, 10.09it/s]
  4%|▍         | 4/90 [00:00<00:08, 10.09it/s]
  8%|▊         | 7/90 [00:00<00:08, 10.08it/s]
 10%|█         | 9/90 [00:00<00:07, 11.04it/s]
 12%|█▏        | 11/90 [00:00<00:06, 12.24it/s]
 14%|█▍        | 13/90 [00:01<00:06, 11.10it/s]
 17%|█▋        | 15/90 [00:01<00:08,  9.10it/s]
 19%|█▉        | 17/90 [00:01<00:07,  9.13it/s]
 23%|██▎       | 21/90 [00:01<00:05, 11.91it/s]
 26%|██▌       | 23/90 [00:02<00:05, 11.85it/s]
 28%|██▊       | 25/90 [00:02<00:05, 12.40it/s]
 30%|███       | 27/90 [00:02<00:05, 11.91it/s]
 32%|███▏      | 29/90 [00:02<00:05, 10.72it/s]
 34%|███▍      | 31/90 [00:02<00:05, 10.02it/s]
 37%|███▋      | 33/90 [00:03<00:05, 10.71it/s]
 39%|███▉      | 35/90 [00:03<00:06,  8.61it/s]
 40%|████      | 36/90 [00:03<00:06,  8.13it/s]
 42%|████▏     | 38/90 [00:03<00:05,  9.48it/s]
 44%|████▍     | 40/90 [00:03<00:05,  8.39it/s]
 46%|████▌     | 41/90 [00:04<00:06,  7.94it/s]
 49%|████▉     | 44/90 [00:04<00:05,  8.79it/s]
 49%|████▉     | 44/90 [00:04<00:05,  8.79it/s]
 51%|█████     | 46/90 [00:04<00:04, 10.36it/s]
 53%|█████▎    | 48/90 [00:04<00:03, 10.72it/s]
 56%|█████▌    | 50/90 [00:04<00:03, 11.55it/s]
 58%|█████▊    | 52/90 [00:05<00:03, 10.24it/s]
 61%|██████    | 55/90 [00:05<00:02, 13.49it/s]
 63%|██████▎   | 57/90 [00:05<00:02, 11.92it/s]
 68%|██████▊   | 61/90 [00:05<00:02, 14.39it/s]
 70%|███████   | 63/90 [00:05<00:01, 13.98it/s]
 73%|███████▎  | 66/90 [00:06<00:01, 12.88it/s]
 73%|███████▎  | 66/90 [00:06<00:01, 12.88it/s]
 76%|███████▌  | 68/90 [00:06<00:02, 10.94it/s]
 78%|███████▊  | 70/90 [00:06<00:01, 11.11it/s]
 80%|████████  | 72/90 [00:06<00:01, 10.72it/s]
 82%|████████▏ | 74/90 [00:06<00:01, 10.94it/s]
 84%|████████▍ | 76/90 [00:07<00:01, 10.63it/s]
 88%|████████▊ | 79/90 [00:07<00:01, 10.68it/s]
 92%|█████████▏| 83/90 [00:07<00:00, 13.23it/s]
 92%|█████████▏| 83/90 [00:07<00:00, 13.23it/s]
 94%|█████████▍| 85/90 [00:07<00:00,  9.79it/s]
 97%|█████████▋| 87/90 [00:08<00:00, 10.80it/s]
100%|██████████| 90/90 [00:08<00:00, 10.95it/s]
100%|██████████| 90/90 [00:08<00:00, 10.87it/s]
 67%|██████▋   | 2/3 [00:17<00:08,  8.67s/it]
  0%|          | 0/90 [00:00<?, ?it/s]
  1%|          | 1/90 [00:00<00:14,  6.04it/s]
  3%|▎         | 3/90 [00:00<00:08,  9.89it/s]
  7%|▋         | 6/90 [00:00<00:06, 13.42it/s]
  7%|▋         | 6/90 [00:00<00:06, 13.42it/s]
  9%|▉         | 8/90 [00:00<00:06, 12.02it/s]
 11%|█         | 10/90 [00:00<00:07, 11.23it/s]
 13%|█▎        | 12/90 [00:01<00:08,  9.52it/s]
 16%|█▌        | 14/90 [00:01<00:07, 10.12it/s]
 18%|█▊        | 16/90 [00:01<00:07,  9.79it/s]
 22%|██▏       | 20/90 [00:01<00:05, 13.09it/s]
 26%|██▌       | 23/90 [00:01<00:04, 15.41it/s]
 29%|██▉       | 26/90 [00:02<00:03, 16.50it/s]
 33%|███▎      | 30/90 [00:02<00:04, 13.96it/s]
 37%|███▋      | 33/90 [00:02<00:04, 13.35it/s]
 40%|████      | 36/90 [00:02<00:04, 12.19it/s]
 42%|████▏     | 38/90 [00:03<00:03, 13.18it/s]
 44%|████▍     | 40/90 [00:03<00:03, 13.73it/s]
 47%|████▋     | 42/90 [00:03<00:04,  9.98it/s]
 49%|████▉     | 44/90 [00:03<00:04,  9.21it/s]
 51%|█████     | 46/90 [00:04<00:04,  8.87it/s]
 53%|█████▎    | 48/90 [00:04<00:05,  8.13it/s]
 57%|█████▋    | 51/90 [00:04<00:03,  9.99it/s]
 59%|█████▉    | 53/90 [00:04<00:03, 10.42it/s]
 61%|██████    | 55/90 [00:05<00:03,  8.88it/s]
 63%|██████▎   | 57/90 [00:05<00:03,  8.48it/s]
 68%|██████▊   | 61/90 [00:05<00:02, 12.35it/s]
 71%|███████   | 64/90 [00:05<00:01, 15.01it/s]
 74%|███████▍  | 67/90 [00:05<00:01, 16.15it/s]
 77%|███████▋  | 69/90 [00:05<00:01, 13.71it/s]
 79%|███████▉  | 71/90 [00:06<00:01, 13.88it/s]
 81%|████████  | 73/90 [00:06<00:01, 11.12it/s]
 83%|████████▎ | 75/90 [00:06<00:01, 10.09it/s]
 86%|████████▌ | 77/90 [00:06<00:01, 10.70it/s]
 88%|████████▊ | 79/90 [00:07<00:01,  8.63it/s]
 92%|█████████▏| 83/90 [00:07<00:00, 12.84it/s]
 94%|█████████▍| 85/90 [00:07<00:00,  8.22it/s]
 97%|█████████▋| 87/90 [00:08<00:00,  6.31it/s]
100%|██████████| 90/90 [00:08<00:00, 10.48it/s]
100%|██████████| 3/3 [00:26<00:00,  8.70s/it]
Booboo
  • 38,656
  • 3
  • 37
  • 60
user1769197
  • 2,132
  • 5
  • 18
  • 32

0 Answers0