背景
#yum update
した時にPythonパッケージでエラーが出たのでごちゃごちゃしていたらいつの間にかLetsEncrypt
が使えなくなりました。具体的にはcertbot renew
で以下のエラー
ImportError: 'pyOpenSSL' module missing required functionality. Try upgrading to v0.14 or newer.
pyOpenSSL
はyumでcertbot
をインストールした時に自動的にインストールされていてバージョンは0.13.1
これをアップデートをすればいいのですが、、、てこづりました。
対処方法/NG版
まずpipコマンドを使ってアップグレードしようと思いましたが、「削除できない」エラーが発生します。
削除してからインストールしようとしても削除できません。
試したコマンド
# pip uninstall pyOpenSSL
# pip install --upgrade --force-reinstall pyOpenSSL
エラー内容
ERROR: Cannot uninstall 'pyOpenSSL'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
次にyum remove pyOpenSSL
を試しますが依存関係のあるライブラリ全て(certbot等)も削除されてしまいます・・・。
対処方法/OK版
yumでインストールしたpyOpenSSL
だけを削除するにはrpm
コマンドを使います。
rpm -e --nodeps pyOpenSSL
この後にpip install pyOpenSSL
でインストール。解決しました。