diff --git a/changelog.d/3690.misc.rst b/changelog.d/3690.misc.rst new file mode 100644 index 0000000000..388bd0b12a --- /dev/null +++ b/changelog.d/3690.misc.rst @@ -0,0 +1 @@ +Fixed logging errors: 'underlying buffer has been detached' (issue #1631). diff --git a/setuptools/dist.py b/setuptools/dist.py index 624a67f236..1c71e5eed2 100644 --- a/setuptools/dist.py +++ b/setuptools/dist.py @@ -1194,19 +1194,11 @@ def handle_display_options(self, option_order): # Print metadata in UTF-8 no matter the platform encoding = sys.stdout.encoding - errors = sys.stdout.errors - newline = sys.platform != 'win32' and '\n' or None - line_buffering = sys.stdout.line_buffering - - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), 'utf-8', errors, newline, line_buffering - ) + sys.stdout.reconfigure(encoding='utf-8') try: return _Distribution.handle_display_options(self, option_order) finally: - sys.stdout = io.TextIOWrapper( - sys.stdout.detach(), encoding, errors, newline, line_buffering - ) + sys.stdout.reconfigure(encoding=encoding) def run_command(self, command): self.set_defaults()