如何修复无法从Werkzeug导入safe_str_cmp的问题

1,234 阅读1分钟

编码员们好!

这篇短文解释了如何修复**ImportError: cannot import name 'safe_str_cmp' from werkzeug.security**引起的最新的Werkzeug 版本 -v2.1.0 (在本文写作时)。

对于新手来说,WerkzeugFlask的核心依赖,是一个全面的WSGI网络应用库。当使用的Werkzeug的版本是v2.1.0 (或更高)时,提到的错误会被撞到。

✨ Werkzeug的更新历史

👉v2.0.0

pbkdf2_hex,pbkdf2_binsafe_str_cmp 已被废弃。hashlibhmac 提供了相应的功能。

👉v2.1.0

删除pbkdf2_hex,pbkdf2_bin, 和safe_str_cmp 函数。使用hashlibhmac 模块中的等价物代替。

✨ 如何修复

Werkzeug 冻结到v2.1.0 之前的最新稳定版本。推荐版本是Werkzeug==2.0.3

✨ 示例项目

要看这个热修复的操作,请随时查看保存在Github上的这个样本项目(MIT许可)。

Flask Datta Able- 由AppSeed生成的开源Flask Starter

Flask Datta Able - Open-Source Seed Project.

Thanks for reading! 如需更多资源,请随时访问。