(original) (raw)

On Sun, Nov 12, 2017 at 1:24 AM, Nick Coghlan <ncoghlan@gmail.com> wrote:
In Python 2.7 and Python 3.2, the default warning filters were updated to hide
DeprecationWarning by default, such that deprecation warnings in development
tools that were themselves written in Python (e.g. linters, static analysers,
test runners, code generators) wouldn't be visible to their users unless they
explicitly opted in to seeing them.

Looking at the official What's New entry for the change (https://docs.python.org/3/whatsnew/2.7.html#changes-to-the-handling-of-deprecation-warnings) it's not just about development tools. It's about any app (or tool, or utility, or program) written in Python whose users just treat it as "some app", not as something that's necessarily part of their Python environment. While in extreme cases such apps can \*bundle\* their own Python interpreter (like Dropbox does), many developers opt to assume or ensure that Python is avaiable, perhaps via the OS package management system. (Because my day job is software development I am having a hard time coming up with concrete examples that aren't development tools, but AFAIK at Dropbox the \*deployment\* of e.g. Go binaries is managed through utilities written in Python. The Go developers couldn't care less about that.)
--
--Guido van Rossum (python.org/\~guido)