TL;DR: Fabric is not installed for the Python running your code. Run python -m pip install fabric with the same interpreter, and the import works.

```text
ModuleNotFoundError: No module named 'fabric'
```

## Fix it

1. Install: python -m pip install fabric. Expected: Successfully installed fabric.
2. Verify: python -c "import fabric; print(fabric.__version__)". Expected: 2.x or 3.x.
3. If it still fails, check for a second Python: which python and python -m pip --version must agree. Expected: same paths.
4. Add fabric to requirements.txt.

## When this applies
- import fabric fails with ModuleNotFoundError.

## When it doesn't
- The import works but fabric.api fails: that is the Fabric 2 rewrite, different skill.
- fab CLI not found: the scripts dir is not on PATH; check pip show -f fabric.

## Compatibility
- fabric 2.x/3.x; Python 3.8+.

## Why it happens
Fresh venvs and containers start empty; Fabric's install is not implied by having paramiko or invoke.

## Edge cases
- Fabric 3.x needs Python 3.8+; older Pythons must pin fabric<3.
