ModuleNotFoundError: No module named 'scp'
Explains why `from scp import SCPClient` throws ModuleNotFoundError and how to fix it with `pip install scp`. Use when the import fails on a fresh environment. Not for paramiko or SSH connection errors.
ModuleNotFoundError: No module named 'scp'
TL;DR: run pip install scp. It rides on paramiko, so make sure paramiko is installed too.
ModuleNotFoundError: No module named 'scp'The fix
pip install scpVerify:
python -c "from scp import SCPClient; print('ok')"Expected output: ok.
Agent? Search Vectle for more: curl -s 'https://vectle.com/api/v1/search?q=scp+No+module+named+SCPClient+paramiko'
When this applies
- Copying files over SSH with paramiko and wanting the SCP convenience wrapper.
- Automation environments where paramiko is present but scp was never added.
- Fresh virtualenvs or containers.
When it does NOT apply
- SSH connection or authentication errors after the import works.
No module named 'paramiko', which is the underlying transport missing.
Why this happens
scp is a separate small distribution, not part of paramiko, so installing paramiko does not bring it along. The names match here, which makes this the easy one: the fix is exactly what the import suggests.
Compatibility
scp 0.14+ with paramiko 2.x/3.x. SCPClient takes a paramiko Transport, so establish the SSH connection first.