知识网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
版权申明:本站部分文章来自互联网,如有侵权,请联系邮箱xiajingzpy@163.com,我们会及时处理和回复!