こんにちは、あきぞらです。
Pythonでpymysqlというライブラリを使ってMySQLにアクセスする処理を作成していたときに、
以下のようなエラーが発生しました。
RuntimeError: cryptography is required for sha256_password or caching_sha2_password
物々しいエラーにもかかわらず意外とすぐに解決したので、
今回はそのエラー解消方法について紹介していきます。
事象
pymysqlのライブラリを使って、MySQLにアクセスしようとしていました。
以下のように、シンプルなINSERT文をなげようとしていました。
import pymysql conn = pymysql.connect( host='127.0.0.1', user='test_user', db='test_db', password='test_pass', charset='utf8', port=3306) cursor = conn.cursor() sql = 'INSERT INTO ....<何かSQL文>' cursor.execute(sql) conn.commit()
すると、実行時にエラーが発生しました。
SQL文を実行するところでエラーが発生しているようでした。
RuntimeError: cryptography is required for sha256_password
エラー解消方法
こちらのGitHub Issuesに対処方法が記載されていました。
意外と多くの人がハマっているんですね…!
こちらのIssueを読んでいくと、cryptography
という暗号化のライブラリをインストールすると良いと書いてありました。
というわけで、pipインストールしてみます。
$ pip install cryptography
インストール完了後、再度実行してみるとうまくいきました。
同じエラーに遭遇した人は試してみてください。
ではまた。