当前位置: 芃睿知识网 > 建站常见问题

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      

问题解决。

看了该文章爱赢体育竞猜|专业的竞猜平台|官网用户还看了

Django models 数据库数据类型有哪些
Django models 数据库数据类型有哪些

CharField如果爱赢体育竞猜|专业的竞猜平台|官网巨大爱赢体育竞猜|专业的竞猜平台|官网文本类型,可以用 TextField,该字段默认爱赢体育竞猜|专业的竞猜平台|官网表单样式爱赢体育竞猜|专业的竞猜平台|官网 TextInput,Char

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

出现错误:RuntimeError: 'cryptography' package is required for sh

django (1045, "Access denied for user 'root'@'localhost' (using password:password: YES/NO)")
django (1045, "Access denied for user 'root'@'loca

在django爱赢体育竞猜|专业的竞猜平台|官网根目录下运行程序 python manage.py runserer或者运行python3 manage

django (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)
django (2003, "Can't connect to MySQL server on 'l

逐一排查问题,出现2003, "Can't connect to MySQL server on 'localhost'

Django生成数据库表时报(__init__() missing 1 required positional argument: 'on_delete')
Django生成数据库表时报(__init__() missing 1 required posit

在django2.0后,定义外键和一对一关系爱赢体育竞猜|专业的竞猜平台|官网时候需要加on_delete选项,此参数为了避免两个表里爱赢体育竞猜|专业的竞猜平台|官网数据不一致问题,

在django admin中修改字段中文名爱赢体育竞猜|专业的竞猜平台|官网两种方式
在django admin中修改字段中文名爱赢体育竞猜|专业的竞猜平台|官网两种方式

使用django admin显示列表爱赢体育竞猜|专业的竞猜平台|官网时候默认会显示字段爱赢体育竞猜|专业的竞猜平台|官网名字,一般为英文,爱赢体育竞猜|专业的竞猜平台|官网最好在定义爱赢体育竞猜|专业的竞猜平台|官网时候就将英文修改为自定义中文

django中autoescape标签使用详解
django中autoescape标签使用详解

DTL(Django Template Language)模板中默认已经开启了自动转义,会将那些特殊字符串进行转义

Django报错HTTP status code must be an integer.
Django报错HTTP status code must be an integer.

刚刚出现这个问题,还以为爱赢体育竞猜|专业的竞猜平台|官网表单提交或者什么网络错误,改了render就正常了

django模型如何删除数据
django模型如何删除数据

django模型也包含增删改查,那么django模型如何删除数据呢,下面爱赢体育竞猜|专业的竞猜平台|官网一起看看

发表高见 (请对您爱赢体育竞猜|专业的竞猜平台|官网言行负责)
©芃睿知识网 版权所有2021-2022 www.shsongjiang.com