On Mon, 23 Nov 2020 at 03:37, Christopher Barker email@example.com wrote:
On Sun, Nov 22, 2020 at 6:34 AM Paul Moore firstname.lastname@example.org wrote:
- Support for C extensions.
That last one if VERY limiting :-(
Correct. But it's ultimately an OS limitation - you can't run a shared library direct from a zipfile. There are workarounds (extract the file to a temporary directory, re-implement the loader) which tools like PyInstaller use, but I'm proposing building on zipapp, which doesn't.
But it's not as limiting as you suggest - it *does* preclude most scientific use (because of numpy etc) but (for example) a large number of web libraries are pure Python.
But I'm not sure of the utility of this really -- Linux is the only platform that you can expect a consistent "system Python" on. (Apple has supplied one for years, but it's never been properly maintained and suitable to use this way)
I'm not sure either. I only use Windows, where I tend to work on systems with Python installed, and if I need to I can use the embedded distribution.
I'm curious about zipapp -- I've heard of it, but never tried to use it -- does it get much use in the wild?
Some, but not as much as was hoped (likely because of the lack of support for shared libraries). It's not so much zipapp, as zipimport and the ability to run from a zipfile. These have been round for years and seen limited use. zipapp was an attempt to give them a friendlier front end and so encourage people to use them. It helped, but only a little.
My feeling is that it hits middle ground that isn't very useful. If you can count on your users having a proper Python installation ,then they can use pip to install your package and run your scripts.
If they can't do that, then they likely need a full bundle.
But I could be wrong there.
You're more or less right, although your perspective on what's useful may be biased a little by the fact that (I believe) you're a heavy numpy user. Paul