Link to Idle 3.11 is running Idle 3.12rc1

As Admin, I have installed Python 3.12.0rc1-amd64 for all users onto Windows 10 22H2 . This also has 3.11.4, 3.10.8, 3.9.7 and 3.8.6 similarly installed. For each I have desktop shortcuts specifying Target as Program Files\Python#\Lib\idlelib\idle.pyw and Start in Program Files\Python#\Lib\idlelib - where # is the version. Path statement (still) specifies Python311.
My issue is that the shortcut for 3.11 actually starts Idle 3.12rc1 but not 3.11. The links for 3.10, 3.9 and 3.8 operate OK starting the correct version. Running python -m idlelib from a command prompt starts Idle 3.11.4 OK, so that is a work around, but is there a proper fix? I have uninstalled 3.11 and re-installed it but the issue is still there.

If you right-click a desktop shortcut, the last entry should be Properties. You should be able to edit the Target and Start in entries.

We do not recommend adding ‘python’ to PATH as it does not work with multiple pythons installed, and tends not to get deleted properly. Please use py -3.x + whatever else to start python from a command prompt. py -h gives more information, and a link to the docs.

I’ve always wondered about this part of the advice for Windows users. It works fine on Linux… I know that Linux will put the actual executables side-by-side in a folder that’s already on the PATH by default, whereas Windows wants programs to go in parallel sub-folders within the “Program Files” directory. But I thought part of the point of having those aliases that mention major and minor version numbers, is so that each version can be found using the PATH, when they’re all in there? Like, say I grab a fresh Windows machine and install 3.10 and then 3.11, choosing to add both to the PATH (so that 3.11 appears first). If I run python310, shouldn’t it just… fail to find that within the 3.11 install folder, keep searching, and find the right one?

What I know is that ‘py’ is easier to type than ‘python’ and it works great for me. I have multiple installed python versions.

As a core dev, I also have the repository and repository builds, so ‘python’ runs the ‘python.bat’ in the repository which runs the built python.exe in the repository, and this can be true for multiple workspaces for multiple versions.