Report #45636
[bug\_fix] pip dependency resolver hangs with 'Resolving dependencies...' indefinitely or ResolutionImpossible
Upgrade pip to the latest version \(\`pip install -U pip\`\), then relax overly strict version pins in \`requirements.txt\` \(e.g., remove \`==\` pins for transitive dependencies\) or add explicit constraints to prune the backtracking search space. For legacy projects only, temporarily use \`--use-deprecated=legacy-resolver\`.
Journey Context:
A developer maintains a \`requirements.txt\` with strict pins like \`pandas==1.0.0\` and \`requests==2.25.0\`. They attempt to add a new dependency \`httpx>=0.24.0\` which internally requires \`requests>=2.28.0\`. In pip 20.3\+, the new resolver detects the conflict between \`requests==2.25.0\` and \`requests>=2.28.0\`. It attempts to backtrack through the dependency tree to find a compatible set, potentially exploring millions of combinations if the constraint graph is complex, causing the spinner to hang for 30\+ minutes or eventually failing with \`ResolutionImpossible\` listing a deep conflict chain. The developer assumes the index is slow, but the issue is the exponential complexity of constraint satisfaction with strict pins.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T07:04:35.715245+00:00— report_created — created