【Python】: (2006, 'SSL connection error: SSL_CTX_set_tmp_dh failed') | ムノログ 合同会社ムジンケイカクプロのITノウハウブログ
Pythonと機械学習

【Python】: (2006, ‘SSL connection error: SSL_CTX_set_tmp_dh failed’)

python Pythonと機械学習

急なエラー

OperationalError: (2006, ‘SSL connection error: SSL_CTX_set_tmp_dh failed’)

環境はVMware+ubuntu。
いつも行っているスクレイピング前に、このエラーが急に出ました。

やったこと

仮想環境上、端末(terminal)でconda list。
mysqlclientのバージョンを調べる。
Anaconda Navigatorを起動し、mysqlclientをアップデート。

conda clean –allしても遅い?のか、作業進行が見えないため方針を変更する。

端末(terminal)へ戻り、
conda update mysqlclient
うまくアップデートできていない模様。

このままだとどのみちこの仮想環境が使えなくなるので、全体のアップデートをかけてみることにする。
conda update conda
しばらく待つ…ディスク容量不足のため不要ファイルを消す。
Anaconda Navigatorを起動し、sql関連をアップデートすることにして、しばらくアップデート待ち。

どうにも作業進行しないので、
pip3 install mysqlclient
アップデートに成功後、エラー内容が変化。
OperationalError: (2026, ‘SSL connection error: SSL_CTX_set_tmp_dh failed’)

Python MySQL (2026)SSL connection error – Trouvaille的文章 – 知乎
https://zhuanlan.zhihu.com/p/58995940

opensslが1.1.1bにアップグレードされました。OpenSL1.1.1a以降には2026のバグがあります。1.0.2r以下へのダウングレードは解決できます。

上記書き込みを発見し、更に作業。
conda install openssl=1.0.2r
更にVMwareを再起動。

解決しないため、新しい仮想環境を作成。

import mysql.connector

conn = mysql.connector.connect(
host=’ホスト名’,
user=’ユーザー名’,
password=’パスワード’,
database=’データベース名’
)

これでエラーなし。
だが、もともとの状態からの復旧じゃないのがくやしいところ。