系统环境
- 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 聊聊, 查看更多联系方式