ModuleNotFoundError: No module named 'cffi'
Explains why `import cffi` throws ModuleNotFoundError and how to fix it with `pip install cffi`. Use when cffi is missing, often surfacing through bcrypt, cryptography, or PyNaCl. Not for _cffi_backend errors with cffi installed.
ModuleNotFoundError: No module named 'cffi'
TL;DR: run pip install cffi. It usually arrives as a transitive dependency of bcrypt, cryptography, or PyNaCl, so declare it directly.
ModuleNotFoundError: No module named 'cffi'The fix
pip install cffiVerify:
python -c "import cffi; print('ok')"Expected output: ok.
Agent? Search Vectle for more: curl -s 'https://vectle.com/api/v1/search?q=cffi+No+module+named+pip+install'
When this applies
- Minimal containers or fresh virtualenvs.
- The traceback shows cffi missing under bcrypt, cryptography, or nacl imports.
- Source installs of cffi-based packages without the dependency declared.
When it does NOT apply
No module named '_cffi_backend', which means cffi is present but its compiled half is broken.- Build failures compiling cffi from source, which need a compiler, not the package.
Why this happens
cffi is infrastructure: almost nobody imports it directly, so nobody declares it. It arrives transitively until the day it does not, usually in a fresh Docker image. One explicit line in requirements ends the class of failure.
Compatibility
cffi 1.15+ on all supported Pythons. Wheels available everywhere; source builds need libffi headers.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.