django sha256_password或caching_sha2_password验证方法需要'cryptography'套件

n6lpvg4x  于 2022-11-26  发布在  Go
关注(0)|答案(2)|浏览(350)

请求方法:POST请求URL:http://192.168.0.110/admin/login/?next=/admin/ Django版本:4.0.1异常类型:运行时错误异常值:
sha256_password或caching_sha2_password验证方法需要'cryptography'包异常位置:/home/chickoos/explab/ExpLab/venv/lib/python3.8/站点包/pymysql/_auth.py,第143行,在sha2_rsa_encrypt Python可执行文件中:/home/chickoos/explab/扩展实验室/venv/bin/Python Python版本号:3.8.10 Python路径:
服务python38.zip器时间:

myzjeezk

myzjeezk1#

要使用“sha256_password”或“caching_sha2_password”进行身份验证,您需要安装其他依赖项:

$ python3 -m pip install PyMySQL[rsa]

根据官方文件:https://pymysql.readthedocs.io/en/latest/user/installation.html

wfypjpf4

wfypjpf42#

所以在我的情况下,突然给了我这个错误的蓝色,我想通了。我忘记了我的根密码在MySql在MacOSX下,这初始化它-我们需要去系统首选项-〉MySQL -〉初始化DB
它ofc删除了我以前拥有的一切,但它似乎给了我2个选择,我错过了第一次。

[*] Use Strong Password Encryption
MySQL 8 supports a newer, stronger authentication method. All new
installations should use this method, but older connectors and clients may be
unable to connect.

或者

[ ] Use Legacy Password Encryption
The legacy authentication method should only be used when compatibility with
MySQL 5.x connectors or clients is required.

出于某种原因,我使用了默认值,这导致了在尝试连接时出现异常:

RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods

所以这不是一个python库的问题,它击中了我,因为这个错误也出现时,你使用的UI和尝试连接,突然我看到了同样的错误(我也错过了,只是点击“继续”)。
为了解决这个问题,我通过转到system preferences -> MySQL -> initialize DB并选择“Legacy Password”来再次初始化它(并删除所有表)

相关问题