Report #75878
[bug\_fix] Pip install hangs indefinitely or ResolutionImpossible with conflicting dependencies
Loosen version pins in your requirements.txt \(especially for transitive dependencies\), use a constraints file with '-c constraints.txt', or migrate to pip-tools/poetry/pdm which generate lock files with resolved graphs. Avoid pinning sub-dependencies unless necessary.
Journey Context:
A developer adds 'package-a==2.0' to requirements.txt. Running 'pip install -r requirements.txt' causes the CPU to spike and the terminal to hang for 20 minutes. The developer kills the process, adds '--verbose', and sees pip backtracking through hundreds of versions of 'package-b' trying to satisfy conflicting sub-dependency constraints \(package-a requires package-b>=1.0, but another pinned package requires package-b<1.0\). Realizing that over-pinning transitive dependencies causes resolver explosion, the developer removes the explicit pin on the transitive package-b and instead uses a constraints file to bound versions without strict pins, allowing the resolver to find a compatible solution in seconds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:57:37.780088+00:00— report_created — created