Hello Coders!
This short article explains how to fix ImportError: cannot import name 'safe_str_cmp' from werkzeug.security caused by the latest Werkzeug
version - v2.1.0
(at the time this article is written).
For newcomers, Werkzeug, the core dependency of Flask, is a comprehensive WSGI web application library. The mentioned error is bumped when the used version of Werkzeug is v2.1.0
(or greater).
✨ Werkzeug Update History
👉 v2.0.0
pbkdf2_hex
,pbkdf2_bin
andsafe_str_cmp
are deprecated.hashlib
andhmac
provide equivalents.
👉 v2.1.0
Remove the
pbkdf2_hex
,pbkdf2_bin
, andsafe_str_cmp
functions. Use equivalents inhashlib
andhmac
modules instead.
✨ How to Fix
Freeze the Werkzeug
to the latest stable version prior to v2.1.0
. The recommended version is Werkzeug==2.0.3.
✨ Sample Project
To see this hotfix in action, feel free to check this sample project saved on Github (MIT License)
Flask Datta Able - open-source Flask Starter generated by AppSeed
- 👉 Datta Able Flask - Source Code
- 👉 Datta Able Flask - LIVE deployment
Thanks for reading!
For more resources, feel free to access:
- ✨ More Free Dashboards crafted in Django, Flask, and React
- ✨ More Admin Dashboards - a huge index with products