[Python-ideas] Adding python to Windows. Was :Re: Make py.exe default to Python 3

Andrew Barnert abarnert at yahoo.com
Wed Mar 16 18:07:28 EDT 2016


On Mar 16, 2016, at 11:15, Oscar Benjamin <oscar.j.benjamin at gmail.com> wrote:
> On 16 Mar 2016 17:47, "Steve Dower" <steve.dower at python.org> wrote:
> >
> > The uninstall problem is actually that "python" would stop working completely in that case, and it's not necessarily obvious why or how to fix it.
> >
> > The leave-behind problem doesn't really matter as the directory is not searched if it doesn't exist, but we also don't leave behind entries added by the installer. A user who customizes their own PATH will obviously need to manually remove the entry, but that's a manual action both times so I don't see any concern there.
> >
> > At one point I was trying to convince the Windows team to add a global "python" command to all Windows installs (probably 10 and later - we don't backport stuff like this, but it could be a manual install) that would act like the py.exe launcher but also automatically download Python if you didn't have it. What would people think if I got that to happen?
> 
> That would be amazing!
> 
I love Steve's idea, but I think you're overselling it.
> Then I guess all the major OSes would ship with Python making simple Python scripts portable
> 
Only if they're dual-version (2.7/3.x), and don't depend on anything from PyPI, and can ignore Windows 8 and earlier.

That rules out novice education, many utility scripts that would be twice as complicated if they have to be dual-version or can't use requests or whatever, etc. 
> and solving a lot of the problems that pyinstaller/py2exe try to solve.
> 
I don't think it will. Even ignoring 3.x, py2app isn't any simpler since Apple started shipping 2.7 preinstalled. In fact, if anything, it's gotten more complicated.

The hard part of py2exe isn't wrapping Python.exe and python36.zip up together with your site-packages.zip, it's working out what has to go in that site-packages.zip, and what extra DLLs are needed because they're linked by a .pyd or explicitly opened via ctypes/cffi, and so on. So, even if you could rely on python and its stdlib already being present, py2exe would still have to do all the hard stuff. But you really can't even rely on that. For example, you may need a specific version (obviously 3.6+ is good enough for 2016, but will that still be true by the time "requires Windows 10" is a reasonable thing for apps to specify?); you'll almost certainly explicitly require either 32-bit or 64-bit; etc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20160316/557efd8a/attachment.html>


More information about the Python-ideas mailing list