I’ve installed colorama for python. I’ve imported the module as follows:

import colorama
from colorama import init
init()
from colorama import Fore, Back, Style

print Fore.RED + "My Text is Red"

and it returns the ANSI charaters….

esc[31mMy Text is Red

This isn`t what I expected. Am I doing something wrong.

Thanks.

I had this same issue on Windows 7 x64, I finally got the colors working without having to install anything new just by adding the argument convert=True to the init call.

from colorama import init, Fore, Back, Style

init(convert=True)

print(Fore.RED + 'some red text')

I’ve never had success getting colors working in Windows cmd.exe without patching it with Ansicon. After patching, ANSI color codes will work without needing to use something like colorama (which didn’t work for me either).

To patch cmd.exe with Ansicon, do the following:

  1. Download Ansicon from https://github.com/adoxa/ansicon/downloads and unzip it into a directory with no spaces
  2. Use a cmd prompt and navigate to where you unzipped it.
  3. CD into the x64 directory (unless you have a 32bit machine, then use the x86 one)
  4. Type ansicon.exe –i
  5. Open a new cmd prompt

via: https://stackoverflow.com/a/4749307/191902

Also, if you have an NVidia graphics card, you might need to set the environment variable “ANSICON_EXC” to “nvd3d9wrap.dll”?.

I know I’m late, but this will hopefully help anyone still looking for the answer.

Stating from Colorama’s documentation on PyPI:

Colorama can be used happily in conjunction with existing ANSI libraries such as Termcolor

from colorama import init
from termcolor import colored

# use Colorama to make Termcolor work on Windows too
init()

# then use Termcolor for all colored text output
print(colored('Hello, World!', 'green', 'on_red'))

This worked for me, on Anaconda Prompt (essentially cmd.exe) on Windows 10 64-bit.

Colorama’s native ANSI sequences don’t seem to work for some reason. An external ANSI library (i.e. Termcolor) did the trick for me.

I realise this is a very old question, but none of the existing answers helped me, so I’m posting my solution in case others are in the same boat. In my case, the problem was that I was importing stdout from sys and then initialising colorama, which does not work:

>>> from colorama import Fore, Style, init
>>> from sys import stdout
>>> init()
>>> stdout.write(Fore.RED + Style.BRIGHT + "Test" + Style.RESET_ALL + "\n")
[31m[1mTest[0m

Per https://pypi.org/project/colorama, this is because:

On Windows, colorama works by replacing sys.stdout and sys.stderr with proxy objects, which override the .write() method to do their work.

Thus, I need to import stdout after it has been replaced as part of the call to init:

>>> from colorama import Fore, Style, init
>>> init()
>>> from sys import stdout
>>> stdout.write(Fore.RED + Style.BRIGHT + "Test" + Style.RESET_ALL + "\n")
Test      <--- This is now bright red.

Hope this helps!

hi before printing clear cmd

import os
from colorama import init,Fore
init()
os.system("cls" or "clear")

print Fore.RED + "My Text is Red"

That’s normal because you do not have ANSI on Windows.

Try somehting like tendo.colorer and this will enable coloring for all platforms.

Note: tendo.colorer adds coloring to the logs, but I’m sure you will figure it out on how to use it for other things. If I’m not mistaking just importing it before your code it will fix the problem.

I know this is an old post but I’ll answer for any new people visiting. Pretty much what worked for me was putting a console clear command before printing my colored text.

For example, instead of doing this:

#random code above
def print_string():
    print(f'{Fore.YELLOW} Hello World {Fore.RESET}')

Do this:

#random code above
def print_string():
    os.system('cls' if os.name == 'nt' else 'clear') # multi-platform clear statement
    print(f'{Fore.YELLOW} Hello World {Fore.RESET}')

I have no idea how it works, but clearing the console in certain areas seems to fix your issue. I had this as well and a friend recommended to do this and it worked. Hope this helped.

(This fixes problems with ANSI Escape Codes too, as well as colorama.)

Add

colorama.init()

Or

from colorama import init
init()

To Your Code And It Will Work

just paste this at end of imports Ez

init(convert=True)
os.system("mode 360")
os.system("cls")

you can use the import only one import. such as:

from colorama import init, Fore, Back, Style

init()

and you can try it now :

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Fore.RESET + Back.RESET + Style.RESET_ALL)

Try The following:

import colorama

colorama.init()
print colorama.Fore.GREEN + " Hey, im green! "