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

更新日期: 2020-12-12 阅读次数: 6338 字数: 159 分类: Python

系统环境

  • Ubuntu 20.04
  • MySQL 8.0
  • Python 3.8

问题描述

在安装了 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

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式