the new windows launchershipped and installed automatically with python (and presumably later)and available as standalone package for use with other versionsaddresses these deficits in the former install model by providing two new executablespy exe for console programs pyw exe for nonconsole (typically guiprograms these two programs are registered to open py and pyw filesrespectivelyvia windows filename associations like python' original python exe main program (which they do not deprecate but can largely subsume)these new executables are also registered to open byte code files launched directly amongst their weaponsthese two new executablesautomatically open python source and byte-code files launched by icon clicks or filename commandsvia windows associations are normally installed on your system search path and do not require directory path or path settings when used as command lines allow python version numbers to be passed in easily as command-line argumentswhen starting both scripts and interactive sessions attempt to parse unix-style #comment lines at the top of scripts to determine which python version should be used to run file' code the net effect is that under the new launcherwhen multiple pythons are installed on windowsyou are no longer limited to either the latest version installed or explicit/full command lines insteadyou can now select versions explicitly on both per-file and per-command basisand specify versions in either partial or full form in both contexts here' how this works to select versions per fileuse unix-style top-of-script comments like these#!python #!/usr/bin/python #!/usr/bin/env python to select versions per commanduse command lines of the following formspy - py py - py py - py for examplethe first of these techniques can serve as sort of directive to declare which python version the script depends uponand will be applied by the launcher whenever the script is run by command line or icon click (these are variants of file named script py)introducing the new windows launcher