# How to fix ModuleNotFoundError: No module named 'cv2'

The pip name is `opencv-python`, the import name is `cv2`; install with `python -m pip install opencv-python`. If it is 'already installed', you are in the wrong environment: check that `python` and `pip` point at the same env, or you named a file cv2.py that is shadowing the real one.

## The exact error

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

## Fix it

1. `python -m pip install opencv-python`
   Expected: Successfully installed

2. `python -c "import cv2; print(cv2.__version__)"`
   Expected: prints a version

3. Still failing? `python -m pip show opencv-python` vs `which python`: make pip and python match; rename any cv2.py in your project.
   Expected: consistent env, no shadowing

## When this applies

`import cv2` -> No module named 'cv2'

## When this does NOT apply

cv2 imports but crashes on libGL (different error, different fix)

## Versions

any

## Why it happens

pip name vs import name mismatch, or interpreter/env mismatch.

## Edge cases

Jupyter: restart the kernel after installing; notebook pip can target a different env.
