[Python-Dev] Proposal: go back to enabling DeprecationWarning by default
Serhiy Storchaka
storchaka at gmail.com
Mon Nov 6 02:08:38 EST 2017
06.11.17 04:05, Nick Coghlan пише:
> On the 12-weeks-to-3.7-feature-freeze thread, Jose Bueno & I both
> mistakenly though the async/await deprecation warnings were missing
> from 3.6.
>
> They weren't missing, we'd just both forgotten those warnings were off
> by default (7 years after the change to the default settings in 2.7 &
> 3.2).
Following issues on GitHub related to new Python releases I have found
that many projects try to fix deprecation warning, but there are
projects that are surprised by ending of deprecation periods and
removing features.
> So my proposal is simple (and not really new): let's revert back to
> the way things were in 2.6 and earlier, with DeprecationWarning being
> visible by default, and app devs having to silence it explicitly
> during application startup (before they start importing third party
> modules) if they don't want their users seeing it when running on the
> latest Python version (e.g. this would be suitable for open source
> apps that get integrated into Linux distros and use the system Python
> there).
>
> This will also restore the previously clear semantic and behavioural
> different between PendingDeprecationWarning (hidden by default) and
> DeprecationWarning (visible by default).
There was a proposition to make DeprecationWarning visible by default in
debug builds and in interactive interpreter.
What if first implement this idea in 3.7 and make DeprecationWarning
visible by default in production scripts only in 3.8? This will make
less breakage.
More information about the Python-Dev
mailing list