问题--缺少 cryptography 包

发布时间 2023-08-15 08:16:39作者: DawnTraveler

1.问题

raise RuntimeError(
RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods
127.0.0.1 - - [14/Aug/2023 22:08:54] "GET /user?debugger=yes&cmd=resource&f=style.css HTTP/1.1" 304 -
127.0.0.1 - - [14/Aug/2023 22:08:54] "GET /user?debugger=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 -
127.0.0.1 - - [14/Aug/2023 22:08:54] "GET /user?debugger=yes&cmd=resource&f=console.png HTTP/1.1" 304 -

2.解决方案

这个错误消息表明在尝试连接到MySQL服务器时,使用了 sha256_passwordcaching_sha2_password 认证方法,但缺少了 cryptography 包,因此无法进行这些认证方法。

要解决这个问题,您需要安装 cryptography 包。在您的Flask应用程序的虚拟环境中,运行以下命令来安装 cryptography 包:

pip install cryptography

安装完成后,您的Flask应用程序应该能够正确使用 sha256_passwordcaching_sha2_password 认证方法来连接到MySQL服务器。

至于其他日志条目,这些是由Flask的调试工具(Debugger)生成的,用于在开发模式下显示调试信息。这些请求是用于获取调试工具的资源文件,如样式表 (style.css)、调试脚本 (debugger.js) 和图标 (console.png)。这些请求返回了304状态码,表示浏览器已缓存了这些资源,不需要再次下载。这些日志条目本身不影响应用程序的正常功能。如果您在生产环境中运行应用程序,这些调试工具资源通常应该被禁用或移除,以减少潜在的安全风险。