[Python-Dev] New Windows installer for Python 3.5

Mark Lawrence breamoreboy at yahoo.co.uk
Mon Jan 5 09:49:12 CET 2015

On 04/01/2015 22:56, Steve Dower wrote:
> Paul Moore wrote:
>> Overall, this looks good. One question - will it be possible to
>> install both 32-bit and 64-bit Python on the same machine? Currently,
>> you need a custom install to do this (as the default directory doesn't
>> include the architecture) and IIRC there's some oddness around install
>> order. It would be nice if installing both versions were a supported
>> option, both for the "default" install and in custom installs.
> Yes, the default install directories on the first page are different for 32-bit and 64-bit (either "Program Files [(x86)]" or "Python35[-32]"). The default value on the customize page is currently always C:\Python35, and so you'll need to change it if you're doing custom installs, but that's easy to add the "-32" by default. (I used a -32 suffix because it matches the py.exe option.)
>> Also, what happens now with setting PATH? Is Python (and the scripts
>> directory) added to PATH by default? If so, what happens when you
>> install 2 versions of Python?
> Yes, and in general the later installed version will win and system-wide installs always beat per-user installs. As I mentioned above, using py.exe with a parameter or shebang line is the most reliable way to get the version you want.
>> In case it's not clear, I'm thinking of the impact on build machines,
>> which often have multiple versions, in both 32- and 64-bit forms,
>> installed simultaneously (but can also be used as a "normal"
>> development machine, and for that purpose will want a selected Python
>> version as the default one.
> You should see my dev machines :) Most have 2.5, 2.6, 2.7 32-bit and 64-bit, 3.0, 3.1, 3.2, 3.3 32-bit and 64-bit, 3.4 32-bit and 64-bit, IronPython and often PyPy, Anaconda or Canopy. So I'm being fairly selfish when I try and make the multiple-versions scenario work better, but it will benefit everyone.
>> Also, how does the launcher py.exe fit into the picture? Is it still
>> installed into the Windows directory? What about for a user install?
>> Are Python scripts associated with the launcher, and if so, how does
>> it pick up the version you selected as default?
> py.exe is more important than ever. It's still installed into the Windows directory for all-user installs, and into the Python directory for just-for-me. It's installed in a way that will make upgrades more reliable (so if you install 3.6 and then 3.5, you'll keep the newer launcher) and all the file associations go straight to the launcher.
> The default Python for the launcher seems to be 2.7 if it's there and the latest version if not (though I could be wrong). Shebang lines are the best way to choose a specific version.
> Incidentally, whoever came up with the py.exe launcher deserves a medal. It's made dealing with multiple versions amazingly easy.

If I'm reading this correctly it means that py.exe gets picked up from 
PATH so it could be 32 or 64 bit.  Does this mean that the launcher 
could be or needs enhancing so 32 or 64 bit can be selected?  I'm not 
sure if anything can be done about pyw.exe, perhaps you (plural) can 
throw some light on this for me.

My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

More information about the Python-Dev mailing list