On 11/19/20 7:04 PM, Oscar Benjamin wrote:
On Thu, 19 Nov 2020 at 23:13, Chris Angelico firstname.lastname@example.org wrote:
On Fri, Nov 20, 2020 at 10:05 AM Eric V. Smith email@example.com wrote:
I just don't think we need to be immediately dismissive of people's desire to create a platform native executable that disguises the fact that the code is written in Python.
I never said it shouldn't happen. But having zipapp in the standard library and all native executable creators as third party apps gives a clear indication that a .pyz file should be considered first, and a native executable only if that isn't suitable.
In my experience there is a wide spectrum of different end "users" to be targeted when thinking about packaging an application. I quite often find myself in the situation where I'm providing code to people who are also able to write code and I can just point them to github or wherever and they can read the README and get everything set up. At the other extreme I work with people who have no idea what "Python" is and might struggle to use my application even if it was actually configured and installed on their computer and in the applications menu, had great instructions etc.
Somewhere in this spectrum there is a usecase for zipapp which is something like "all my users have Python already installed but do not necessarily know how to use it". I haven't personally found a situation where this applies and haven't used zipapp as a result.
Packaging applications is something where Python's usability could be improved enormously. Other languages also suffer around this in different ways but if Python had a simple and reliable (if not full featured approach) then that would be very useful. There has been a lot of progress with packaging and distributing Python libraries which is very welcome but support for distributing even very simple applications is lacking.
Yes, I am working an a application. I know that a lot of people who will want to be able to use it, really will need for it to be just a file they can download and run on windows. They probably could handle getting a file they run to 'install' the program which they can then run from the Windows start menu or Desktop. I will probably also see about packaging it to run easily like that on a Mac. I will also make the source available for the minority of users that will be able to install python and the needed modules (and who hopefully will be able to submit improvements or continue support when I can't anymore)
It would be nice, if there was a built in way to easily package a program for these sorts of people, but as long as there is a way to do it, it is ok. (Need to look over my options and figure out which one(s) will work the best).