When using the Python Launcher "py.exe", it uses 64bit by default and I can enforce using 32bit. But there is no way to enforce 64bit. If I run "py -3.6" the actual called interpreter depends on the interpreter versions installed on my system. Thus "py -3.6-64" is missing. This is important if 64bit features are required.
Limiting to 64-bit is already implemented in the latest version of the launcher. For example, below I've renamed the registry key for 64-bit Python 3.5 to "xxx3.5" to prevent the launcher from finding it: C:\>py -3.5-64 Python 3.5-64 not found! Installed Pythons found by py Launcher for Windows -xxx-64 -3.7-64 * -3.7-32 -3.6-64 -3.6-32 -3.5-32 -2.7-64 -2.7-32 Requested Python version (3.5-64) not installed, use -0 for available pythons -0p also lists the path for each executable. It's a bit rough around the edges that it lists the available versions and then tells the user to list them via -0 instead of the more general advice to use -h or --help for available options. The long names for -0 and -0p are --list and --list-paths, but currently these do not work. That should be easy to fix in the launcher's process() function if you want to contribute a patch.
A thanks! In the meantime I found the corresponding changelog entry: https://bugs.python.org/issue30291 I checked the corresponding commit: there is no documentation update. It would be nice if the new feature can be found in the documentation (including the fact that -64 is only supported after installing python 3.7 or newer)...