• What does the m stand for in python3.6m ?
  • How does it differ to non m version?
  • In which case would I prefer to use python3.6m rather than python3.6?

What does the m stand for in python3.6m?

It signifies that Python was configured --with-pymalloc which enables a specialized implementation for allocating memory that’s faster than the system malloc.

How does it differ to non m version?

The non m version is, obviously, not configured with it.

In which case would I prefer to use python3.6m rather than python3.6?

Probably most usefull when writing C extensions, in general it shouldn’t be something you should worry about.