Report #70184
[bug\_fix] pip dependency resolver reports \`ResolutionImpossible\` because of conflicting version requirements for a shared dependency
Read the resolver's conflict tree, then update the direct dependency pins in \`requirements.txt\` or \`pyproject.toml\` to a mutually compatible range. If two tools truly need incompatible versions, split them into separate virtual environments. You can also guide resolution with a constraints file via \`pip install -c constraints.txt\`.
Journey Context:
You add \`fastapi==0.110\` and \`httpx==0.24\` to a project. \`pip install\` now prints \`ResolutionImpossible\` because FastAPI wants \`starlette>=0.36.3,<0.37.0\` while the older pinned \`httpx\` transitively wants \`starlette==0.27\`. You try \`--no-deps\` and the app crashes at runtime. You try pinning \`starlette\` manually and pip still refuses. The rabbit hole is that pip's new resolver \(20.3\+\) is strict and will not silently install a broken set. The fix works because you must satisfy the directed acyclic graph of version constraints; removing or updating one pin lets the resolver find a transitive version both parents accept, or you isolate incompatible tools in separate environments.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T00:23:08.579711+00:00— report_created — created