Python

【Python 】pymysqlで「RuntimeError: cryptography is required for sha256_password...」の解消方法!

こんにちは、あきぞらです。

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

インストール完了後、再度実行してみるとうまくいきました。

同じエラーに遭遇した人は試してみてください。

ではまた。

-Python

Copyright© あきぞらてっく , 2022 All Rights Reserved Powered by AFFINGER5.