Проблема termcolor colored python3 в консоли

Я написал такой код на Python 3.7.7


from termcolor import colored

print(colored("lalalala_gagagag", "cyan"))

print(colored("http://google.com", "cyan"))

При запуске её через PyCharm он выдаёт:

введите сюда описание изображения

(прошу прощения за то, что скрин, при копировании не сохраняется цвет)

Но при запуске через консоль:

введите сюда описание изображения

[36mlalalala_gagagag[0m
[36mhttp://google.com[0m

colorama тоже не работает. Я скомпилировал в ехе при помощи PyInstaller. Проблема никуда не делась.

введите сюда описание изображения

Можете помочь как это исправить. Спасибо.


Ответы (1 шт):

Автор решения: Shamus Rezol

Дело в стандартной кодировке консоли. По умолчанию, она однобайтовая. Вроде бы ASCII. Чтобы появились цвета, нужно изменить ее на двухбайтовую. Такими являются cp1251, unicode, .. . И очень странно, что colorama не изменяет кодировку. Она оборачивает терминал, изменяя его кодировку. Возможно вы не инициализировали ее (colorama.init)?пример

→ Ссылка