Report #90360
[bug\_fix] pip install hangs indefinitely or fails with ResolutionImpossible
Constrain the dependency version range in your requirement specifiers \(e.g., \`pip install "fastapi<0.100"\`\) to reduce the search space for the resolver. Avoid using \`--use-deprecated=legacy-resolver\` as it creates broken environments.
Journey Context:
Developer adds \`django==4.0\` to a requirements file that contains \`pytest-django\` which requires \`Django<4.0\`. They run \`pip install -r requirements.txt\`. Pip starts collecting packages but hangs for 10 minutes with high CPU. Developer cancels, reruns with \`-v\` and sees pip backtracking through dozens of versions of \`urllib3\` and \`charset-normalizer\`. They learn that since pip 20.3, the resolver is strict and finds all compatible versions \(NP-hard problem\). The hang is exponential backtracking. The fix is not to downgrade pip, but to add constraints \(e.g., \`urllib3<2.0\`\) to guide the resolver, reducing the search tree dramatically.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T10:15:47.228503+00:00— report_created — created