Jupyter mixes stdout and stderr output in non-deterministic order
Description
A dummy progress bar would be created after finishing each outer iteration, looking like below. The code to reproduce the issue is attached. It works fine without print though. Is there any way to avoid this behavior?
100% (100 of 100) |######################| Elapsed Time: 0:00:01 Time: 0:00:01 16% (16 of 100) |### | Elapsed Time: 0:00:00 ETA: 0:00:01 0 100% (100 of 100) |######################| Elapsed Time: 0:00:01 Time: 0:00:01 16% (16 of 100) |### | Elapsed Time: 0:00:00 ETA: 0:00:00 1 100% (100 of 100) |######################| Elapsed Time: 0:00:01 Time: 0:00:01 2
Code
import time import progressbar for i in range(3): for j in progressbar.progressbar(range(0, 100)): time.sleep(0.01) print(i)
Versions
- Python version: 3.6
- Python distribution/environment: Anaconda
- Operating System: macOS 10.13
- Package version: 3.37.1