Error Knowledge Base PIP DEPENDENCY_CONFLICT

ERROR: ResolutionImpossible (conflicting dependencies)

pip's resolver could not find any set of versions that satisfies all constraints at the same time.

Affected versions: All modern pip versions using the dependency resolver.

What This Error Means

pip's resolver could not find any set of versions that satisfies all constraints at the same time.

How to Fix It

  1. Relax or remove overly strict pins and let the resolver choose compatible versions.
  2. If you must pin, adjust pins to a compatible set based on package release notes.
  3. Split optional features into extras and install only what you need (reduce constraint surface).
  4. If the conflict is real upstream, consider upgrading/downgrading one top-level package to a version that supports the same dependency range.

Why It Happens

  • 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.

How to Verify

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

Manual conflict isolation

  1. Try the install in a fresh venv to remove unrelated preinstalled packages.
  2. Run with verbose output to see which versions pip is considering/backtracking over: python -m pip install -v ....
  3. After install (if partial), run python -m pip check to see conflicts.

Common CLI Output

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

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

Prevention Tips

  • Use a lock/constraints workflow so the same compatible set is used across machines and CI.
  • Avoid pinning transitive dependencies unless necessary.
  • Review dependency upgrades in small steps so conflicts are easier to diagnose.

Where This Can Be Triggered

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