On Thu, Nov 19, 2020 at 8:57 PM Cameron Simpson firstname.lastname@example.org wrote:
Disclaimer: I'm not arguing for or against having pyinstaller or the like in the stdlib. Probably slightly against. Anyway...
On 19Nov2020 15:59, Chris Angelico email@example.com wrote:
Producing native executables is an attractive nuisance. [...stuff...]
To me, the beauty of things like pyinstaller is that they produce a _complete_ package/bundle/executable which you can just use. More to the point, that you can hand to someone else to use.
Have you considered the value of using zipapp rather than creating a native binary for every platform you want to support? That way, it's still a single package/bundle, and it can have a shebang that means it's executable using an already-installed Python binary (and on Windows, I believe *.pyz gets associated with the Python launcher by default, but I could be wrong). Also, zipapp is part of the Python standard library (and has been since 3.5; any proposal for a new addition to the stdlib will be from 3.10 or 3.11 at the very earliest). You get all the advantages of a single runnable file, and all the advantages of NOT including the full Python interpreter with it.
Hence my statement that *native executable* creation is an attractive nuisance. Many many people think that they need to create a .exe file, when really what they want is "a thing that people can double-click on and it has all the code", which is adequately covered by a .pyz executable.