Making it an error so soon would be mistake, IMHO. That will break currently working code for small benefit. When Python was a young language with a few thousand users, it was easier to make these kinds of changes. Now, we should be much more conservative and give people a long time and a lot of warning. Ideally, we should provide tools to fix code if possible. Could PyPI and pip gain the ability to warn and even fix these issues? Having a warning from pip at install time could be better than a warning at import time. If linting was built into PyPI, we could even do a census to see how many packages would be affected by turning it into an error. On 2019-08-05, raymond.hettinger@gmail.com wrote:
P.S. In the world of C compilers, I suspect that if the relatively new compiler warnings were treated as errors, the breakage would be widespread. Presumably that's why they haven't gone down this road.
The comparision with C compilers is relevant. C and C++ represent a fairly extreme position on not breaking working code. E.g. K & R style functional declarations were supported for decades. I don't think we need to go quite that far but also one or two releases is not enough time. Regards, Neil