python version 2 vs 3, command name inconsistency, and .py filename extension ambiguity problem (2026)

By Xah Lee. Date: . Last updated: .

python version problem

In emacs, i have a command that calls python formatter to format the current file. I need to know, what is the shell command name to invoke python 3.

turns out, there is no standard way. on some machine, python is version 3, on some it's version 2, on some it's python3.

python command names should have fixed meaning. e.g. in shell

But the idiot guido has PEP this and that, but no PEP on this. Result is, python can mean 2 or 3 on different machines.

also, filename extention .py3 should be created, so its clear always means version 3. but the idiot refuse. so now, u cant tell if name .py is 2 or 3 script.

worse, on windows, they created py.exe. great, it allows a way to resolve the version by a new alias locally. but sadly, its just a windows thing, there is no py alias on linux, so you cannot rely on calling py.

What the faak. You know why this happens? It's my guess, guido is arrogant, he thinks there is only one clean python lang. He didnt want a .py3 to remind people there was a big ugly incompatible change to python. Which made the transition much more painful.

python version 2026-07-29 2fb6b ll
python version 2026-07-29 2fb6b ll
python version 2026-07-29 2fb7f ll
python version 2026-07-29 2fb7f ll

making a change to my emacs code.

python version 2026-07-29 2f1fe ll
python version 2026-07-29 2f1fe ll

python install location on Microsoft Windows changes

also, the python guys can't decide which location to install on windows.

# ['c:\\Users\\xah\\.emacs.d\\temp',
# 'C:\\Python39\\python39.zip',
# 'C:\\Python39\\DLLs',
# 'C:\\Python39\\lib',
# 'C:\\Python39',
# 'C:\\Python39\\lib\\site-packages']
python version 2026-07-29 2cccf ll
python version 2026-07-29 2cccf ll
python version 2026-07-29 2f2dc ll
python version 2026-07-29 2f2dc ll

python windows installer no option to install on d drive.

and, the idiotic windows installer, no have option to install on d drive.

python version 2026-07-29 2cff8 ll
python version 2026-07-29 2cff8 ll
python version 2026-07-29 2c461 ll
python version 2026-07-29 2c461 ll

python sucks 2026-07