[Python-Dev] Silencing DeprecationWarning by default in Python 2.7 is silencing division warnings

Benjamin Peterson benjamin at python.org
Sat Mar 6 20:51:05 CET 2010

2010/3/6 Brett Cannon <brett at python.org>:
> I see two possible fixes for this. One is to not silence DeprecationWarning
> if Py_DivisionWarningFlag is set to >= 1. The other is to introduce a new
> subclass of DeprecationWarning called IntegerDivisionWarning and have that
> added to the warnings filter so that if it is triggered it is handled
> separately from what DeprecationWarning triggers.
> The former means that you might get more than you bargained for in terms of
> warnings as you are suddenly switching on all DeprecationWarnings on top of
> division warnings. The latter means that you now have to explicit care about
> IntegerDivisionWarning on top of DeprecationWarning (to minimize this I
> could have IntegerDivisionWarning added to the warnings filter only in the
> case of when Py_DivisionWarningFlag is set instead of blindly adding it).
> Thoughts?

How about just setting the warnings filter based on the integer
division warning message? Might be a little brittle, but I don't much
third party code is warning about classic division.


More information about the Python-Dev mailing list