Open ofek opened 1 month ago
I am interested in what packaging._get_musl_version
is returning for the executable, and where it's failing.
$ docker exec builder /python/bin/python -m pip install -q packaging
$ docker exec builder /python/bin/python -c "from packaging._musllinux import _get_musl_version;print(_get_musl_version('/python/bin/python'))"
None
Based on its description, could it be because the distribution is statically compiled i.e. https://github.com/indygreg/python-build-standalone/issues/86?
https://github.com/indygreg/python-build-standalone/issues/218#issuecomment-1962753448:
If PEP 656 had been around when I created this project, I may have just made musl libc dynamic by default.
I think this effectively a duplicate of https://github.com/indygreg/python-build-standalone/issues/86, we need dynamically linked musl builds for python-build-standalone to be usable on alpine.
I know it was from before your time but do you know why the original decision opted for static? I don't quite understand the benefit.
I believe it was a requirement for PyOxidizer which was the motivating force behind the project in the first place (I may be wrong) -- it's similar to https://github.com/indygreg/python-build-standalone/issues/221.
See https://github.com/astral-sh/uv/pull/2382 for a (currently failing) test on the uv side
The following illustrates that for some reason the standalone distribution's pip does not consider MUSL wheels and will download the source distribution:
I then got the idea to try installing with UV itself but that also doesn't work (but of course itself installs properly with the system Python): https://github.com/astral-sh/uv/issues/3486