Error Knowledge Base pip DEPENDENCY_CONFLICT

ERROR: ResolutionImpossible (conflicting dependencies)

pip found conflicting dependency constraints and could not choose a set of package versions that satisfies every requirement.

What Broke in the Dependency Graph

pip found conflicting dependency constraints and could not choose a set of package versions that satisfies every requirement.

This is pip refusing to continue with a dependency graph that does not make sense. The important detail is which versions or peer requirements disagree, not just the final error code.

Repair the dependency graph

Relax or remove overly strict pins and let the resolver choose compatible versions.

If you must pin, adjust pins to a compatible set based on package release notes.

Split optional features into extras and install only what you need (reduce constraint surface).

If the conflict is real upstream, consider upgrading/downgrading one top-level package to a version that supports the same dependency range.

Why Resolution Broke

Two top-level pins are incompatible (e.g. package A pins dependency X<2, package B pins dependency X>=2). A transitive dependency introduces a constraint that conflicts with your direct pin. You're mixing multiple requirements sources (requirements.txt + constraints file + environment markers) that don't align.

Prove the Graph Is Clean Again

Run python -m pip install -r requirements.txt and confirm the resolver completes without ResolutionImpossible, and run python -m pip check and confirm no conflicts are reported.

Manual conflict isolation

Try the install in a fresh venv to remove unrelated preinstalled packages.

Run with verbose output to see which versions pip is considering/backtracking over:python -m pip install -v ...

After install (if partial), run python -m pip check to see conflicts.

Examples

ERROR: Cannot install package_coffee==0.44.1 and package_tea==4.3.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

How pip resolves dependencies

pip builds a dependency graph from your requested packages and their requirements. If two requirements demand incompatible versions of the same dependency, there may be no solution. When no solution exists, pip reports a conflict and (often) ResolutionImpossible.

Keep the Dependency Graph Healthy

To prevent this, use a lock/constraints workflow so the same compatible set is used across machines and CI, avoid pinning transitive dependencies unless necessary, and review dependency upgrades in small steps so conflicts are easier to diagnose.

Docs and source code

github.com/pypa/pip/blob/25.3/src/pip/_internal/resolution/resolvelib/factory.py

pip turns an unsatisfiable dependency set into a user-facing error string starting with ResolutionImpossible:. - GitHub

return DistributionNotFound(
    "ResolutionImpossible: for help visit "
    "https://pip.pypa.io/en/latest/topics/dependency-resolution/"
    "#dealing-with-dependency-conflicts"
)

Need help or found a mistake? Contact RepoFlow support for questions.

Join our mailing list