pixi: Tracking issue: PyPI dependencies pixi can't manage yet.
There are a few PyPI packages pixi
can’t install yet, where pip
can.
Please paste your examples in this issue so we have a list of known packages we can track, test and benchmark with along the way.
Information we would like:
-
What did you run and what was the outcome? e.g.
pixi add --pypi packagex
If it doesn’t recreate in an empty environment please share yourpixi.toml
that recreates the issue. -
What error did
pixi
return? e.g.× RECORD file doesn't match wheel contents: missing hash for mediapipe/version.txt (expected sha256=-fE2KU)
-
Can pip install the package? Does
pip install packagex
work? -
What platform are you on? e.g.
linux-64
-
Did you find a workaround, if so please explain. e.g. build it into a conda package, using a custom fork, etc.
Your input would greatly help us improve the pixi’s experience! Thanks in advance! ❤️
About this issue
- Original URL
- State: open
- Created 5 months ago
- Comments: 31 (21 by maintainers)
Mediapipe
× RECORD file doesn't match wheel contents: missing hash for mediapipe/version.txt (expected sha256=-fE2KU)
python -m pip install mediapipe
does workosx-arm64
Thanks for the quick fix! This does indeed work. I’m looking forward to further improvements to pixi.
@wolfv thx!
pixi add --pypi "trimesh[all]"
now works for me with the following config:@liblaf I wonder if for you it’s a similar issue and adding glibc 2.28 or higher would fix it.
e.g.
pixi add --platform osx-arm64 --pypi "meshkernel==4.1"
pixi run pip install "meshkernel==4.1"
works on the osx-arm64 platform.This happens on the osx-64 and osx-arm64 platforms (it works on win-64 and linux-64). I expect this to be some mismatching in the name/metadata of/in the .whl files for the macos specific ones.
Not yet, it would help if the resolver can be more verbose (
-vvv
has no effect on it) how it matches the platform/interpreter/glibc version and what’s incompatible. Possibly renaming the wheels on the meshkernel side would be enough to fix it.Encountered in https://github.com/Deltares/Ribasim/pull/1137
Would be kind-of useful if we can keep the build environments for uv as well, so it’s easier to debug these things.
@roaldarbol The error message is absolutely terrible but if you add:
It should work.
Most likely you are missing a system requirement: https://pixi.sh/latest/configuration/#the-system-requirements-table
Most likely macos=12.0
Tensorflow metal on Apple silicon MacOS 14.2.1:
@pablovela5620 so it seems mediapipe 10.9 is a package with an invalid RECORD file, I manually checked it and it’s incorrect.
This is mentioned in the PyPa
Mediapipe has a
version.txt
that is not mentioned in the RECORD for the 10.9 release.Which in this case triggers the error, I’m unsure why pip does no do this. But I feel its good to adhere to the standard here.
In any case, mediapipe 10.8 does seem to work, you could use that instead.
Also see: https://github.com/google/mediapipe/issues/5025
@liquidcarbon I cannot reproduce this, neither on OSX or on windows. It’s strange it does not select the
.whl
for some reason.@liquidcarbon the
duckdb
onconda-forge
has been continued onpython-duckdb
which should be available on windows. We’ll keep the example for pypi to test more!@liquidcarbon This is indeed not what we want as UX but we simply need to develop more to support all PyPI packages. Its a weird bunch of requirements we have to support to be equivalent to
pip
. So please keep posting non working packages!@pablovela5620 I am also finding this necessary quite often, probably more often than @ruben-arts would like 😃
In this pattern the environment definition is fragmented between
pixi.toml
tasks andpixi.lock
. It could work, esp with pinned pip installs in tasks, but is it the intention?