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

发布时间: 2020-12-12 17:21:10 作者: 大象笔记

系统环境

问题描述

在安装了 PyMySQL 之后:

pipenv install PyMySQL

进行 MySQL 数据库访问时,直接报错:

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

看上去是 MySQL 8 引入的账号问题。

解决方法

pipenv install PyMySQL[rsa]

再次操作数据库就可以了。

Pipfile 的变化

pymysql 并没有出现在 packages 区域中,而是独立出了一个 packages.pymysql 区域。

[[source]]
url = "https://pypi.python.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"
beautifulsoup4 = "*"
lxml = "*"
orator = "*"

[dev-packages]

[requires]
python_version = "3.8"

[packages.pymysql]
extras = [ "rsa",]

参考

https://stackoverflow.com/questions/54477829/cryptography-is-required-for-sha256-password-or-caching-sha2-password

我是一名山东烟台的开发者,联系作者