# Requirement already satisfied: requests in ./venv/lib/python3.11/site-packages (2.31.0)

>>> import requests
ModuleNotFoundError: No module named 'requests'

- **ID:** `python/pip-requirement-already-satisfied-but-import-fails`
- **Domain:** python
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

pip installed into a different interpreter/site-packages than the one running the code (e.g. `pip` vs `python -m pip`, or a mismatched venv), so the import path does not include the install location.

## Version Compatibility

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

## Workarounds

1. **** (95% success)
   ```
   Always install via the target interpreter: `python -m pip install requests`, and confirm with `python -c 'import sys; print(sys.executable)'`.
   ```
2. **** (90% success)
   ```
   Check which pip: `which pip` vs `python -m pip --version`; recreate the venv and activate it before installing.
   ```

## Dead Ends

- **** — Installs into the same wrong interpreter again. (90% fail)
- **** — Fragile and breaks when the environment changes. (60% fail)
