Report #12175
[bug\_fix] Pip dependency resolver backtracking or ResolutionImpossible
Identify the conflicting transitive dependency by running \`pip install -v\` and observing which packages are being backtracked. Add a direct constraint to your requirements \(e.g., \`package-a==1.2.3\`\) that satisfies the conflict, or use \`pip install --use-deprecated=legacy-resolver\` only as a temporary workaround. The root cause is that two dependencies specify mutually exclusive version ranges for a shared sub-dependency.
Journey Context:
A developer adds a new package to \`requirements.txt\` and runs \`pip install -r requirements.txt\`. Pip begins downloading dozens of versions of \`urllib3\` and \`requests\`, appearing to hang for 30\+ minutes. Eventually it fails with \`ResolutionImpossible\`, citing conflicts between \`requests>=2.25\` requiring \`urllib3<1.27\` and another package requiring \`urllib3>=2.0\`. The developer examines the verbose output, realizes the new package pulled in a strict urllib3 v2 constraint incompatible with the existing requests version. They pin \`urllib3<2\` and \`requests>=2.31\` \(which supports both\), resolving the graph instantly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T15:16:37.042197+00:00— report_created — created