当前位置: 知识网 > 建站问题

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

知识网2021年11月15日 12:14原创

运行python3 manage.py runserver后报RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods,一般有两种原因引起:

1、'cryptography' package 没有安装

是因为缺少cryptography包。

可以使用 pip install cryptography 安装cryptography包。

如果安装cryptography失败,先检查一下自己的pip包是否为最新版本,在settings>Project>Project Interpreter里查看pip的版本。

接下来使用easy_install -U pip 更新pip。

然后再用 pip install cryptography 安装cryptography包,问题解决。

2、跟数据库的连接出现了故障

特别是电脑突然关机,重启PATH路径丢失导致了正在运行的pycharm和mysql异常关闭连接了,开机之后运行就很容易出现这个异常。

具体异常代码:

auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)

File &/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pymysql/_auth.py&, line 265, in caching_sha2_password_auth

data = sha2_rsa_encrypt(conn.password, conn.salt, conn.server_public_key)

File &/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pymysql/_auth.py&, line 143, in sha2_rsa_encrypt

raise RuntimeError(

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

可以看到时pymysql/_auth.py的问题引起的。

解决办法:

重新添加PATH,登录mysql

PATH=&$PATH&:/usr/local/mysql/bin #mac电脑通常为这个目录

mysql mysql -u root -p

问题解决。

很赞哦!(22)

发表高见 (请对您的言行负责)

©芃睿知识网 版权所有 2012-2023 shsongjiang.com

备案号:赣ICP备2022001527号-1