RuntimeError: cryptography is required for sha256_password or caching_sha2_password
ある日、PythonからMySQLに接続しようとしたらこのエラーが出た。
今回はこの cryptography is required
のエラーについて紹介する。
どんなエラー?
cryptography is required
は訳すと「暗号化が必要ですよ」。
何を暗号化するのかというとログインに用いるパスワード。
MySQLに接続する際に sha256_password
又は caching_sha2_password
を使うならパスワードを暗号化しろと言っているわけである。
余談だが、WindowsのタスクマネージャからPythonプログラムを定期的に実行している場合、この cryptography is required
によって (0x1)エラー
が発生する事もあるので要注意。
-
タスクスケジューラからpythonを実行すると(0x1)のエラーで失敗する理由とは
エラーの解決方法
エラーが発生する原因はPythonの暗号化ライブラリ不足。
つまり以下のコマンドで暗号化ライブラリを追加すれば解決する。
pip install cryptography
Windows環境での注意点
Windows環境ではPythonのインストール先のフォルダによってはアクセス拒否エラーが発生する。
コマンドプロンプトを起動する際に「管理者として実行」を選んでアクセス拒否されないようにしよう。
右クリック -> 管理者として実行