Report #10450
[bug\_fix] pip.\_vendor.resolvelib.resolvers.ResolutionImpossible \(or ERROR: Cannot install packageA and packageB because these package versions have conflicting dependencies\)
Add a direct pin to your requirements.txt or command line that constrains the conflicting transitive dependency to a version compatible with both parents \(e.g., add requests==2.28.1\), or upgrade pip to the latest version to ensure the backtracking resolver is active, or use pip-tools to generate a lock file.
Journey Context:
A developer adds two new dependencies to their project: django==4.2 and djangorestframework==3.14. Upon running pip install -r requirements.txt, pip fails with ResolutionImpossible. The error message indicates that djangorestframework 3.14 requires django>=3.0,<4.2, conflicting with the django==4.2 requirement. The developer tries to force install with --force-reinstall but this breaks runtime imports. They realize that pip's resolver \(since 20.3\) strictly enforces consistency. The fix works because by explicitly adding a constraint line django>=3.0,<4.2 or upgrading djangorestframework to a version supporting Django 4.2, they manually resolve the version set that the backtracking resolver could not find automatically, guiding pip to a valid solution graph.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:45:18.874570+00:00— report_created — created