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

更新日期: 2020-12-12 阅读次数: 525 字数: 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 聊聊, 查看更多联系方式。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。同时也欢迎关注我的微信公众号“大象工具”: 大象工具微信公众号

相关文章

爱评论不评论

近期节日

查看更多节日