[IPython-dev] Ipython Notebook Showing Warnings In Wrong Order

Justin capslockwizard at gmail.com
Thu Jun 12 01:34:18 EDT 2014


The order that warning messages are printed in Ipython Notebooks in the
presence of a print statement is not as expected. Take for example:

import warnings
warnings.simplefilter('always')

for x in range(10):
    warnings.warn('Warning %d' % (x))
    print x

When I run this using python I get:
test.py:5: UserWarning: Warning 0
  warnings.warn('Warning %d' % (x))
0
test.py:5: UserWarning: Warning 1
  warnings.warn('Warning %d' % (x))
1
test.py:5: UserWarning: Warning 2
  warnings.warn('Warning %d' % (x))
2
test.py:5: UserWarning: Warning 3
  warnings.warn('Warning %d' % (x))
3
test.py:5: UserWarning: Warning 4
  warnings.warn('Warning %d' % (x))
4
test.py:5: UserWarning: Warning 5
  warnings.warn('Warning %d' % (x))
5
test.py:5: UserWarning: Warning 6
  warnings.warn('Warning %d' % (x))
6
test.py:5: UserWarning: Warning 7
  warnings.warn('Warning %d' % (x))
7
test.py:5: UserWarning: Warning 8
  warnings.warn('Warning %d' % (x))
8
test.py:5: UserWarning: Warning 9
  warnings.warn('Warning %d' % (x))
9

Running it in the Ipython console with %cpaste shows similar output as
above.

However when I run it in an Ipython notebook cell the order is different:

0
1
2
3
4
5
6
7
8
9
-c:5: UserWarning: Warning 0
-c:5: UserWarning: Warning 1
-c:5: UserWarning: Warning 2
-c:5: UserWarning: Warning 3
-c:5: UserWarning: Warning 4
-c:5: UserWarning: Warning 5
-c:5: UserWarning: Warning 6
-c:5: UserWarning: Warning 7
-c:5: UserWarning: Warning 8
-c:5: UserWarning: Warning 9


Is there a way to fix this or is this a bug?

Thanks!


~Justin~
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20140612/edb11a00/attachment.html>


More information about the IPython-dev mailing list