Report #8376
[bug\_fix] pip install hangs, consumes excessive memory, or outputs 'This is taking longer than usual... backtracking'
Constrain dependency versions in requirements files \(e.g., \`package>=1.0,<2.0\`\) to reduce the search space for the resolver. Upgrade pip to the latest version for performance improvements. As a temporary workaround only, use \`--use-deprecated=legacy-resolver\` \(not recommended for production\).
Journey Context:
A developer adds a new dependency \`apache-airflow\` to requirements.txt. They run \`pip install -r requirements.txt\` on CI. The process hangs for 30 minutes then dies with an OOMKilled error. Locally, they see pip backtracking through hundreds of versions of \`requests\`, \`urllib3\`, \`chardet\`, and \`apache-airflow\` trying to find a compatible set. It tries \`requests\` 2.28, finds conflict with \`airflow<2.0\`, backtracks to 2.27, another conflict, and so on. The developer realizes that \`apache-airflow\` has strict upper bounds on \`requests\` \(e.g., \`<2.24.0\`\) which conflicts with the existing \`>=2.25.0\` in requirements. The resolver tries every combination causing exponential search. The fix is to pin \`requests==2.24.0\` or adjust the constraint to match Airflow's requirements, immediately giving the resolver a single path. Upgrading pip can also help as newer versions have better backtracking heuristics and lazy evaluation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T05:19:29.245530+00:00— report_created — created