Remix.run Logo
ziofill 3 days ago

Is the opposite possible? I mean to have the dependency resolver use a sat solver? Would it be faster/slower?

philipov 3 days ago | parent | next [-]

The Conda package manager is available to users of the Anaconda/Miniconda distribution, which is very popular. Conda uses a sat solver for dependency resolution. It's a lot slower than pip, but it's not a thing that has to happen often enough for that to be a problem.

It's a good thing, however, that using conda doesn't preclude one from also using pip.

SimplyUnknown 3 days ago | parent [-]

Conda indeed is slow. However, mamba is a drop in replacement for Conda and uses a way faster solver, which makes it a lot more palatable.

philipov 3 days ago | parent [-]

Does it use a sat solver that has better average-case behavior, or does it sacrifice on full sat solvability?

okanat 2 days ago | parent [-]

Without fully solving it, it is impossible to install packages. This is my anecdote but I find Mamba better at solving tricky dependency requirements like certain version of Python and a certain version of Pytorch with Cuda support and a certain protobuf version.

scheme271 3 days ago | parent | prev [-]

Totally possible. Some dependency resolvers use a sat solver. The speed depends on the solver and optimizations in the solver vs resolver.