Vinay Sajip added the comment:
The devil is in the detail. If stream=sys.stderr is specified, that takes effect at import time. If stream=None is specified and the implementation chooses to treat that as sys.stderr, that takes effect at the time of the call. The two are not equivalent. It was a conscious choice by me to implement it this way, and I believe it's clearly documented what happens, which should be sufficiently clear for users.
Which part of
"If stream is specified, the instance will use it for logging output; otherwise, sys.stderr will be used."
is unclear?
----------
resolution: -> not a bug
status: open -> closed
_______________________________________
Python tracker
https://bugs.python.org/issue37563
_______________________________________