Настройка кодировки вывода по умолчанию в Python 2 является известной идиомой:
sys.stdout = codecs.getwriter("utf-8")(sys.stdout)
Это обертывает объект sys.stdout в записи кодека, который кодирует вывод в UTF-8.
Однако этот метод не работает в Python 3, потому что sys.stdout.write() ожидает str, но результатом кодирования является bytes, и возникает ошибка, когда codecs пытается записать закодированные байты в исходное sys.stdout.
Каков правильный способ сделать это в Python 3?