ModuleNotFoundError: No module named 'flask_bcrypt'
Explains why `import flask_bcrypt` throws ModuleNotFoundError: No module named 'flask_bcrypt' and how to fix it by installing the Flask-Bcrypt distribution. Use when code imports flask_bcrypt but pip installed something else. Not for plain bcrypt import errors.
ModuleNotFoundError: No module named 'flask_bcrypt'
TL;DR: the pip distribution is called Flask-Bcrypt but the module is flask_bcrypt. Run pip install Flask-Bcrypt and the import works.
ModuleNotFoundError: No module named 'flask_bcrypt'The fix
pip install Flask-BcryptVerify:
python -c "from flask_bcrypt import Bcrypt; print('ok')"Expected output: ok.
Agent? Search Vectle for more: curl -s 'https://vectle.com/api/v1/search?q=flask_bcrypt+No+module+named'
When this applies
- Code does
from flask_bcrypt import Bcrypt. - You ran
pip install flask_bcrypt(wrong distribution name) or never installed it. - A fresh virtualenv, container, or CI runner is missing the package.
When it does NOT apply
- The error is about
_bcryptor DLL loading, which is the compiled-extension problem, not a missing package. pip show Flask-Bcryptalready reports it installed; then check you are in the right environment.
Why this happens
PyPI distribution names and Python import names are independent. Flask extensions usually use a CamelCase or dashed distribution name with a snake_case module, and guessing one from the other fails. When in doubt, the PyPI page lists the exact pip install command.
Compatibility
Flask-Bcrypt works with Flask 2.x and 3.x and needs the bcrypt package, which pip pulls in automatically.
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.