安装passlib后调用hash属性出现AttributeError报错如何解决
错误根源
该报错是因为未显式导入passlib.hash嵌套子模块,Python默认不会自动加载顶层模块下未主动导入的子模块属性,因此直接调用passlib.hash下的接口会触发属性不存在的错误。
修复方案
两种可用写法任选其一即可:
- 方案1(更推荐):直接导入目标哈希类
先执行导入:
后续直接调用接口即可:from passlib.hash import apr_md5_cryptapr_md5_crypt.hash("password") - 方案2:显式导入整个hash子模块
先执行导入:
之后就可以正常使用你原来的调用写法:import passlib.hashpasslib.hash.apr_md5_crypt.hash("password")
额外注意
如果调整导入写法后仍有报错,可执行命令升级passlib到最新稳定版:
pip install --upgrade passlib
内容的提问来源于stack exchange,提问作者Banana
相关产品推荐
相关产品推荐

