# ERROR: Cannot install foo==1.2.3 and bar==4.5.6 because these package versions have conflicting dependencies.

- **ID:** `python/pip-no-matching-distribution-with-constraints`
- **Domain:** python
- **Category:** install_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The new pip resolver found no assignment of transitive dependency versions that satisfies all declared version constraints simultaneously.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.8 | active | — | — |
| 3.9 | active | — | — |
| 3.10 | active | — | — |
| 3.11 | active | — | — |
| 3.12 | active | — | — |

## Workarounds

1. **** (90% success)
   ```
   Install pip-tools and let it compute a consistent set: `pip install pip-tools && pip-compile requirements.in` then `pip-sync`.
   ```
2. **** (88% success)
   ```
   Ask pip to explain: `pip install foo==1.2.3 bar==4.5.6 -v` and read the 'The conflict is caused by:' block, then relax one upper bound.
   ```

## Dead Ends

- **** — Installs incompatible transitive deps that will fail at import/runtime with confusing errors. (80% fail)
- **** — Whack-a-mole; each new pin surfaces the next conflict and the final set is often still inconsistent. (72% fail)
- **** — Legacy resolver silently picks the first candidate, hiding the conflict and shipping a broken environment. (85% fail)
