13.11.17 14:29, Antoine Pitrou пише:
On Mon, 13 Nov 2017 22:37:46 +1100
Chris Angelico <ros...@gmail.com> wrote:
On Mon, Nov 13, 2017 at 9:46 PM, Antoine Pitrou <solip...@pitrou.net> wrote:
On Sun, 12 Nov 2017 19:48:28 -0800
Nathaniel Smith <n...@pobox.com> wrote:
On Sun, Nov 12, 2017 at 1:24 AM, Nick Coghlan <ncogh...@gmail.com> wrote:
This change will lead to DeprecationWarning being displayed by default for:

* code executed directly at the interactive prompt
* code executed directly as part of a single-file script

Technically it's orthogonal, but if you're trying to get better
warnings in the REPL, then you might also want to look at:

https://bugs.python.org/issue1539925
https://github.com/ipython/ipython/issues/6611

Depends what you call "better".  Personally, I don't want to see
warnings each and every time I use a deprecated or questionable
construct or API from the REPL.

Isn't that the entire *point* of warnings? When you're working at the
REPL, you're the one in control of which APIs you use, so you should
be the one to know about deprecations.

If I see a warning once every REPL session, I know about the deprecation
already, thank you.  I don't need to be taken by the hand like a little
child.  Besides, the code I write in the REPL is not meant for durable
use.

Hmm, now I see that the simple Nathaniel's solution is not completely correct. If the warning action is 'module', it should be emitted only once if used directly in the REPL, because '__main__' is the same module.

But if you use functions foo() and bar(), and both emit the same warning, you should get a warning from every entered command, because after the first warning you know only about the first function.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to