DB Python 開発

[Python+MySQL] RuntimeError: cryptography is required

[Python+MySQL] RuntimeError: cryptography is required

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

参考
Improve helpfulness of error message when cryptography is required · Issue #768 · PyMySQL/PyMySQL · GitHub


Windows環境での注意点

Windows環境ではPythonのインストール先のフォルダによってはアクセス拒否エラーが発生する。
コマンドプロンプトを起動する際に「管理者として実行」を選んでアクセス拒否されないようにしよう。

右クリック -> 管理者として実行


ITipsと同じようなブログを作る方法

ブログに興味がありますか?

もしブログに興味がある場合は↓このページ↓を参考にすれば、ITipsと同じ構成でブログを作ることができます

サーバー、ドメイン、ASPと【ブログに必要なものは全て】このページに書きました。
同じ構成でブログ作るのはいいけど、記事はマネしないでネ (TДT;)

ランキング参加中

にほんブログ村 IT技術ブログへ

他にもブログやSNSで紹介してくれると励みになります。

はてブのコメントで酷評されると泣きます(´;ω;`)

-DB, Python, 開発
-, ,

Translate »

© 2021 ITips