# ERROR: ResolutionImpossible: because package-a depends on package-b and package-b depends on package-a

- **ID:** `python/pip-requirements-cyclic-dependency`
- **Domain:** python
- **Category:** data_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Two or more packages have a circular dependency that pip's resolver cannot resolve.

## Version Compatibility

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

## Workarounds

1. **Use a version of one package that breaks the cycle** (80% success)
   ```
   Check if older versions avoid the circular dependency: `pip install package-a==1.0 package-b==2.0`
   ```
2. **Install packages in a specific order using --no-deps and then manually install dependencies** (70% success)
   ```
   `pip install --no-deps package-a && pip install package-b && pip install package-a` (if circular is partial)
   ```

## Dead Ends

- **Installing one package with --no-deps** — This breaks the dependency chain, but the package may fail at runtime without its dependency. (70% fail)
- **Using --force-reinstall** — Reinstallation does not resolve the circular dependency; it just reinstalls the same conflicting versions. (90% fail)
