On Mon, 23 Nov 2020 at 10:39, Mathew Elman <mathew.elman@ocado.com> wrote:
I would argue this sounds like a case for a "python_runner", i.e. a lightweight python vm that can run python apps, e.g. zipapps. Something like the blender_runner for blender. Making it explicitly an app that runs via some other engine.
It would then be a central entry-point that can be updated to a later python and all the apps update with it. It would have to provide a utility for desktop shortcuts to feel like the python app was launching natively.
That's essentially like Java's JRE. For what it's worth, on my PC the JRE is 196M in size. Whereas a full Python distribution is only 94M, and the embedded distribution is 15M. So I think Python already has that, more or less. But my experience with the JRE is that very few applications actually use the "centralised" JRE, preferring to ship an embedded JRE. So the evidence from the Java world is that managing a central "runtime engine" is not actually as convenient as we're assuming, and the arguments for it simply aren't compelling in the real world. (Unix may have a different picture - there's a much stronger culture there of "depend on system packages" :shrug:) Paul