Colorama windows не работает

Обновлено: 07.07.2024

Я установил colorama для python. Я импортировал модуль следующим образом:

и он возвращает ANSI charaters.

Это не то, чего я ожидал. Я делаю что-то не так.

Я невероятно Новичок, и мне было интересно, могу ли я упаковать colorama с cx_freeze, я видел некоторых людей с подобным вопросом, но я совершенно не понимаю, как конкретно выбрать colorama. Пожалуйста, объясни, как будто мне 10 лет. Это кодировка в моем файле setup.py для cx_freeze: from.

Я изменил цвета консоли Python, используя следующий код: from colorama import init init() from colorama import Fore, Back, Style print(Fore.COLORNAME) Но я должен установить COLORNAME сам, вот так: печать(Fore.RED) То, что я пытаюсь сделать, - это сделать COLORNAME переменной, чтобы я мог.

У меня была такая же проблема на Windows 7 x64, я наконец - то получил цвета, работающие без необходимости устанавливать что-либо новое, просто добавив аргумент convert=True к вызову init.

Мне никогда не удавалось заставить цвета работать в Windows cmd.exe без исправления их с помощью Ansicon. После исправления цветовые коды ANSI будут работать без необходимости использовать что-то вроде colorama (что тоже не сработало для меня).

Кроме того, если у вас есть видеокарта NVidia, вам может потребоваться установить переменную окружения "ANSICON_EXC" в значение "nvd3d9wrap.dll".

Я знаю, что опаздываю, но это, надеюсь, поможет любому, кто все еще ищет ответ.

Colorama можно с удовольствием использовать в сочетании с существующими библиотеками ANSI, такими как Termcolor

Это сработало для меня, на Anaconda подсказке (по существу cmd.exe )на Windows 10 64-битной.

Родные последовательности Colorama ANSI, похоже, по какой-то причине не работают. Внешняя библиотека ANSI (то есть Termcolor) сделала это для меня.

Я использую Python Colorama в системе Linux для печати stdout в terminal в цвете. Я использую команду Linux 'tee', чтобы также записать этот вывод в файл. Когда сценарий закончен, он отправляет захваченный текстовый файл, включая escape-последовательности, по адресу email, который я проверяю на.

На Windows colorama работает, заменяя sys.stdout и sys.stderr прокси-объектами, которые переопределяют метод .write() для выполнения своей работы.

Таким образом, мне нужно импортировать stdout после того, как он был заменен как часть вызова init :

Надеюсь, это поможет!

Это нормально, потому что у вас нет ANSI на Windows.

Попробуйте что-нибудь вроде tendo.colorer , и это позволит раскрасить все платформы.

Примечание: tendo.colorer добавляет окраску к журналам, но я уверен, что вы поймете, как использовать его для других вещей. Если я не ошибаюсь, просто импортировав его перед вашим кодом, это исправит проблему.

вы можете использовать импорт только одного импорта. такие как:

и вы можете попробовать это прямо сейчас :

Попробуйте сделать следующее:

Похожие вопросы:

Я скачал модуль colorama для python и дважды щелкнул setup.py. Экран мигнул, но когда я пытаюсь импортировать модуль, он всегда говорит : нет модуля с именем colorama. Я скопировал и вставил папку.

Наконец-то сегодня заработала colorama, и она отлично работает при печати строк, но я получил распространенную ошибку, которую все, кажется, получают, когда я пытаюсь использовать colorama с вводом.

Я обновил свою установку Python с 3.4 до 3.5 (CPython 64-bit на Windows 7 Enterprise 64-bit). После этого обновления colorama перестала переводить ANSI escape-последовательностей в Win32 API вызов.

Я невероятно Новичок, и мне было интересно, могу ли я упаковать colorama с cx_freeze, я видел некоторых людей с подобным вопросом, но я совершенно не понимаю, как конкретно выбрать colorama.

Я изменил цвета консоли Python, используя следующий код: from colorama import init init() from colorama import Fore, Back, Style print(Fore.COLORNAME) Но я должен установить COLORNAME сам, вот так.

Я использую Python Colorama в системе Linux для печати stdout в terminal в цвете. Я использую команду Linux 'tee', чтобы также записать этот вывод в файл. Когда сценарий закончен, он отправляет.

colorama позволяет выводить цветной текст в cmd для python. И это работает. import colorama colorama.init() print('[31mThis outputs red text![39m') И мы можем установить вывод цвета для django.

В моем сценарии Windows 10 я хочу напечатать произвольный вывод консоли python ( print() , sys.exit() и т. д.) как на консоль , так и в файл журнала. У меня нет контроля над некоторыми частями кода.

Я использую colorama для изменения цвета моего текста, и это работает отлично, но теперь я хочу изменить цвет всего фона, а не только моего текста. Я использую Windows: import colorama from colorama.

Библиотека Colorama позволяет управляющим символам ANSI (используются для создания цветного текста в терминале и позиционирования курсора) работать под MS Windows.

Если вы считаете Colorama полезной, не забудьте поблагодарить ее авторов и сделать пожертвование. Спасибо!

Установка

Описание

Управляющие символы ANSI давно используются для создания цветного текста и позиционирования курсора в терминале на Unix и Mac. Colorama делает возможным их использование на платформе Windows, оборачивая stdout, удаляя найденные ANSI-последовательности (которые будут выглядеть как тарабарщина при выводе) и преобразуя их в соответствующие вызовы win32 для изменения состояния командной строки. На других платформах Colorama ничего не меняет.

В результате мы получаем простой кроссплатформенный API для отображения цветного терминального текста из Python, а также следующий приятный побочный эффект: существующие приложения или библиотеки, использующие ANSI-последовательности для создания цветного вывода на Linux или Mac, теперь могут работать и на Windows, просто вызвав colorama.init().

Альтернативный подход заключается в установке ansi.sys на машины с Windows, что обеспечивает одинаковое поведение для всех приложений, работающих с командной строкой. Colorama предназначена для ситуаций, когда это не так просто (например, может быть, у вашего приложения нет программы установки).

Демо-скрипты в репозитории исходного кода библиотеки выводят небольшой цветной текст, используя последовательности ANSI. Сравните их работу в Gnome-terminal и в Windows Command-Prompt, где отображение осуществляется с помощью Colorama:

ANSI-последовательности на Ubuntu под gnome-terminal
ANSI-последовательности на Windows, используя Colorama

Я установил колораму для питона. Я импортировал модуль следующим образом:

и возвращает символы ANSI .

Я не ожидал этого. Я делаю что-то неправильно.

  • 1 В какой операционной системе вы это используете?
  • Я использую Windows 7 64 бит .
  • 3 Вы запускаете это в командной строке или в какой-нибудь среде IDE? Он должен работать в командной строке, но не, например, в IDLE или Eclipse Pydev.
  • Ваш код отлично работает для меня в cmd.exe : Win 7 x64, Python 2.7.6 x64, colorama 0.3.1
  • Да, должно работать. На cmd у меня работает, как и у Cygwin. (Windows 10, Python35)

У меня была такая же проблема в Windows 7 x64, я наконец получил цвета, работающие без необходимости устанавливать что-либо новое, просто добавив аргумент convert=True к вызову init.

  • Я использую его в Windows 10, но он не работает. Не показывает цвет
  • Я использовал его в Windows 10, и в моем случае он работает, но при запуске python из cmd

Мне никогда не удавалось заставить цвета работать в Windows cmd.exe без исправления с помощью Ansicon. После исправления цветовые коды ANSI будут работать без необходимости использовать что-то вроде colorama (что тоже не сработало для меня).

  • ansicon -i заставляет его работать на всех моих оболочках cmd.exe. Однако оболочка командной строки Python по-прежнему не интерпретирует escape-последовательности. \ x1b перед допустимыми последовательностями ANSI по-прежнему отображается стрелкой влево. Что еще я должен сделать?

Я знаю, что опаздываю, но, надеюсь, это поможет всем, кто все еще ищет ответ.

Заявление из документации Colorama по PyPI:

Colorama можно успешно использовать в сочетании с существующими библиотеками ANSI, такими как Termcolor.

Это сработало для меня в Anaconda Prompt (по сути cmd.exe ) в 64-разрядной версии Windows 10.

Родные последовательности ANSI Colorama по какой-то причине не работают. Внешняя библиотека ANSI (например, Termcolor) помогла мне.

В Windows colorama работает заменой sys.stdout а также sys.stderr с прокси-объектами, которые отменяют .write() способ делать свою работу.

Таким образом, мне нужно импортировать stdout после он был заменен как часть вызова init :

Настроить

  • ОС: Windows 10 Professional
  • Версия Python: 3.6.1
  • версия свеклы: 1.4.5
  • Отключение плагинов решило проблему (да / нет): нет

Моя конфигурация (вывод beet config ):

Самый полезный комментарий

Все 24 Комментарий

Здравствуй! Это последовательности управления цветом консоли. Предполагается, что они автоматически адаптируются к командам управления для консоли Windows.

Можете ли вы попробовать запустить эту команду, чтобы проверить, на какой платформе Beets считает, что она работает?

И этот, чтобы проверить, была ли успешно установлена ​​Colorama, которая предоставляет цвета в Windows?

Если Colorama отсутствует, вы можете установить ее с помощью pip install colorama . Но он должен был быть установлен автоматически при установке свеклы, так что это остается загадкой.

А пока вы можете сделать вывод более читабельным, установив color: no .

Очевидно cmd.exe не любит эти команды: /

Однако отключение цветов работает как обходной путь!

Сожалею; Я очень далек от того, чтобы быть экспертом в синтаксисе команд Windows. Нам просто нужен способ избежать пробелов в этом аргументе - может быть, попробовать двойные кавычки вместо одинарных?

Результатом первой команды будет win32 . Вывод второй команды пуст, но colorama, по-видимому, уже установлена:

C: \ Users \ Arnaud> pip install colorama
Требование уже выполнено: colorama в c: \ users \ arnaudappdata \ local \ programs \ python \ python36-32 \ lib \ site-packages

Обратите внимание, что в PowerShell такой ошибки нет (она правильно интерпретирует ошибку); но я предпочитаю использовать cmd, потому что у PS есть проблемы с анализом параметра каталога (это для другой проблемы;))

Это странно. Все это говорит о том, что все должно работать.

Если вы хотите еще раз покопаться, следующим шагом было бы добавить несколько вызовов print() чтобы точно проверить, что происходит. Что-то вроде этого:

Я знаю, это звучит глупо, но это точно скажет нам, что делает ваша машина.

Совсем не глупо, я попробую и дам вам знать.

Пробовали отрезать код, и colorama, кажется, инициализируется нормально?

Но тогда остальная часть импорта по-прежнему показывает последовательности управления цветом.

обходит перевод Colorama, используя sys.stdout.buffer для прямой записи байтов. Судя по всему, Colorama предполагает, что вы используете только sys.stdout напрямую. Чтобы контролировать кодировку, мы не можем этого сделать. (Кстати, я считаю, что это важный недостаток дизайна в Python 3 - два шага вперед, один шаг назад.)

Нам нужно будет поискать способ уговорить Colorama работать с байтами на Python 3, так же, как и на Python 2.: confused: Я не совсем уверен, как мы с этим справимся, но я Я отмечаю это как ошибку, чтобы мы могли присмотреться к ней более внимательно.

Colorama for Python, Не возвращает цветные линии печати в Windows

Я установил colorama для python. Я импортировал модуль следующим образом:

и он возвращает charators ANSI.

Это не то, что я ожидал. Я что-то делаю неправильно.

У меня была эта же проблема в Windows 7 x64, я, наконец, получил цвета, работая без необходимости устанавливать что-либо новое, просто добавив аргумент convert=True к вызову init.

У меня никогда не было успеха получать цвета, работающие в Windows cmd.exe, не исправляя его с помощью Ansicon. После исправления цветовые коды ANSI будут работать без необходимости использовать что-то вроде colorama (что тоже не сработало для меня).

Я знаю, что опаздываю, но это, надеюсь, поможет любому, кто все еще ищет ответ.

Colorama можно использовать с удовольствием в сочетании с существующими библиотеками ANSI, такими как Termcolor

Цветной вывод текста в Python: Colorama

Библиотека Colorama позволяет управляющим символам ANSI (используются для создания цветного текста в терминале и позиционирования курсора) работать под MS Windows.

Если вы считаете Colorama полезной, не забудьте поблагодарить ее авторов и сделать пожертвование. Спасибо!

Установка

Описание

Управляющие символы ANSI давно используются для создания цветного текста и позиционирования курсора в терминале на Unix и Mac. Colorama делает возможным их использование на платформе Windows, оборачивая stdout, удаляя найденные ANSI-последовательности (которые будут выглядеть как тарабарщина при выводе) и преобразуя их в соответствующие вызовы win32 для изменения состояния командной строки. На других платформах Colorama ничего не меняет.

В результате мы получаем простой кроссплатформенный API для отображения цветного терминального текста из Python, а также следующий приятный побочный эффект: существующие приложения или библиотеки, использующие ANSI-последовательности для создания цветного вывода на Linux или Mac, теперь могут работать и на Windows, просто вызвав colorama.init().

Альтернативный подход заключается в установке ansi.sys на машины с Windows, что обеспечивает одинаковое поведение для всех приложений, работающих с командной строкой. Colorama предназначена для ситуаций, когда это не так просто (например, может быть, у вашего приложения нет программы установки).

Демо-скрипты в репозитории исходного кода библиотеки выводят небольшой цветной текст, используя последовательности ANSI. Сравните их работу в Gnome-terminal и в Windows Command-Prompt, где отображение осуществляется с помощью Colorama:

ANSI-последовательности на Ubuntu под gnome-terminal Те же ANSI-последовательности на Windows, используя Colorama

Эти скриншоты показывают, что в Windows Colorama не поддерживает ANSI ‘dim text’ (тусклый текст); он выглядит так же, как и ‘normal text’.

Использование

Инициализация

Приложения должны инициализировать Colorama с помощью:

Цветной вывод текста в Python

Цветной вывод текста в Python

C помощью встроенных средств языка

На Python с помощью ANSI-код можно делать цвет, фон и т.д. Это очень мощный и удобный инструмент, с его помощью программист может напрямую определять цвет текста. ANSI коды работают на большинстве дистрибутивов Linux, но не поддерживаются консолью операционной системы Windows до Windows 10.

Изменять цвет текста с помощью ANSI кодов можно разными способами, например, использоваться функции или даже написать свой класс-обёртку для ANSI.

Использовать ANSI коды просто, для этого нужно знать базовый синтаксис и сами коды. Разбор на примере кода «\033[31m\033[43m»:

Давайте сделаем вывод текста на консоле через функции.

Вобщем вот целая таблица с кодами цвета, фона и стилей.

Разукрашиваем вывод в консоли: теория и практика

Управляющие последовательности ANSI

ANSI escape sequences или Управляющие последовательности ANSI — это стандарт, дающий возможность управлять курсором, цветами, начертание в текстовых консолях. Такие последовательности воспринимаются отрисовщиком терминала, как команды отображать последующий текст в определенном формате. Есть также последовательность, которая сбрасывает предыдущие команды, и отображение текста становиться обычным. Существует несколько форматов управляющих последовательностей, различающихся возможностями и появившимися в разных версиях кодировок. Поговорим об этих форматах подробнее.

8 основных цветов и стили

Для обычного пользователя разнообразия цветов этого формата будет более чем исчерпывающим. Но прежде чем задумываться о том, что терракотовый цвет гораздо круче красного, и он вам уж точно нужен, давайте разберемся, как устроена самая простая версия управляющей последовательности ANSI для форматирования текста.

Чтобы изменить текущий цвет шрифта или фона можно использовать следущий синтаксис:

Читайте также: