DEV Community

Sm0ke
Sm0ke

Posted on • Originally published at docs.appseed.us

How to Fix: Cannot import safe_str_cmp from Werkzeug

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 and safe_str_cmp are deprecated. hashlib and hmac provide equivalents.

👉 v2.1.0

Remove the pbkdf2_hex, pbkdf2_bin, and safe_str_cmp functions. Use equivalents in hashlib and hmac 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


Flask Datta Able - Open-Source Seed Project.


Thanks for reading! For more resources, feel free to access:

Top comments (0)