prefix-dev / pixi

Package management made easy
https://pixi.sh
BSD 3-Clause "New" or "Revised" License
3.03k stars 166 forks source link

PyPI dependencies that will not install #1926

Open tdejager opened 1 month ago

tdejager commented 1 month ago

I've upgraded this comment int a seperate issue so we can track it a bit easier.

Taken from issue: #771

--- Copy ----

@tdejager I wrote a simple script to test which PyPI packages cannot be managed by pixi. I have only tested a few packages I use. Here is the results from workflow run:

Results | Package | pip | pixi | uv | | --- | --- | --- | --- | | confz | ✅ | ✅ | ✅ | | dvc | ✅ | ❌ | ✅ | | dvclive | ✅ | ❌ | ✅ | | icecream | ✅ | ✅ | ✅ | | jax | ✅ | ❌ | ✅ | | jax[cuda12] | ✅ | ❌ | ✅ | | matplotlib | ✅ | ✅ | ✅ | | meshio[all] | ✅ | ❌ | ✅ | | meshpy | ✅ | ✅ | ✅ | | meshtaichi-patcher | ✅ | ✅ | ✅ | | mkdocs | ✅ | ✅ | ✅ | | mkdocs-material | ✅ | ✅ | ✅ | | mkdocstrings[python] | ✅ | ✅ | ✅ | | numpy | ✅ | ✅ | ✅ | | pymeshfix | ✅ | ✅ | ✅ | | pyright | ✅ | ✅ | ✅ | | pytest | ✅ | ✅ | ✅ | | pytest-benchmark | ✅ | ✅ | ✅ | | pyvista | ✅ | ✅ | ✅ | | ruff | ✅ | ✅ | ✅ | | scipy | ✅ | ❌ | ✅ | | sparse | ✅ | ❌ | ❌ | | taichi | ✅ | ❌ | ✅ | | trimesh[all] | ✅ | ❌ | ✅ | | typeguard | ✅ | ✅ | ✅ |

I also noticed that pixi tends to build from source distributions rather than using built distributions. If the PyPI package does not provide source distributions, it cannot be installed (e.g. gmsh, jaxlib). I guess this is because pixi fails to resolve built distributions correctly.

Originally posted by @liblaf in https://github.com/prefix-dev/pixi/issues/771#issuecomment-2312340227

--- Copy ---

tdejager commented 1 month ago

I've just tested dvc and that seemed to work, any chance we could get some output to compare errors for those failures?

liblaf commented 1 month ago

We can download logs from workflow artifacts.

For sparse: