Skip to main content
One of the main features of conda is its ability to manage software packages and their dependencies. Dependency management can become complicated when a package has many dependencies, each with their own version constraints. Conda uses something called its dependency solver, an algorithm that determines which versions of which packages need to be installed to satisfy (or solve) all the dependencies without version conflicts. When installing a package, the solver looks at the package specification for the primary package and for each one of its dependencies (and their dependencies, and so on) to determine which package versions can work together. For advice on fixing solver errors, see Managing solver errors.