Report #82069
[bug\_fix] ResolutionImpossible or excessive time during pip install
Constrain the dependency search space by specifying exact versions or using a constraints file \(\`pip install -c constraints.txt\`\). This reduces the backtracking search tree.
Journey Context:
Developer runs \`pip install tensorflow\` in a fresh environment. Pip starts downloading multiple versions of numpy, scipy, etc., spinning for 20 minutes or eventually failing with "ResolutionImpossible". The error shows conflicts between tensorflow requiring numpy<2.0 while another dependency requires numpy>=2.0. Developer tries pinning \`pip install tensorflow==2.15\` but still hits issues. They realize pip's new resolver \(since 20.3\) is strict about finding compatible sets but can backtrack excessively when constraints are tight. The fix is to use a constraints file \(\`-c constraints.txt\`\) with known working versions, or use \`pip install "tensorflow==2.15.0" "numpy<2.0"\` to constrain the search space. This works because it reduces the search tree the resolver must explore, avoiding the combinatorial explosion of version combinations.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T20:21:04.710979+00:00— report_created — created