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
- 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 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
- Run
python -m pip install -r requirements.txtand confirm the resolver completes withoutResolutionImpossible. - Run
python -m pip checkand 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 checkto 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
- 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.
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"
)