Pythonでlibssl.so.1.1がインポートエラー
はじめに
WSL2のubuntuを20.04.6 LTS (Focal Fossa)から22.04.3 LTS (Jammy Jellyfish)にアップグレードしたあと、pythonで書いているスクリプトからエラーが出るようになってしまったので対応しました。
エラー内容
今までちゃんと動いていたスクリプトが動かなくなりました。
Traceback (most recent call last):
File "/home/mokuzine/zine/amazon/get_items.py", line 8, in <module>
from paapi5_python_sdk.api.default_api import DefaultApi
File "/home/mokuzine/zine/amazon/paapi5_python_sdk/__init__.py", line 29, in <module>
from paapi5_python_sdk.api.default_api import DefaultApi
File "/home/mokuzine/zine/amazon/paapi5_python_sdk/api/__init__.py", line 29, in <module>
from paapi5_python_sdk.api.default_api import DefaultApi
File "/home/mokuzine/zine/amazon/paapi5_python_sdk/api/default_api.py", line 31, in <module>
from paapi5_python_sdk.api_client import ApiClient
File "/home/mokuzine/zine/amazon/paapi5_python_sdk/api_client.py", line 40, in <module>
from paapi5_python_sdk import rest
File "/home/mokuzine/zine/amazon/paapi5_python_sdk/rest.py", line 30, in <module>
import ssl
File "/home/mokuzine/.anyenv/envs/pyenv/versions/3.11.1/lib/python3.11/ssl.py", line 100, in <module>
import _ssl # if we can't import it, let the error propagate
^^^^^^^^^^^
ImportError: libssl.so.1.1: cannot open shared object file: No such file or directory
openssl自体はインストールされているので参照がおかしくなってしまった可能性。
# インストールされているか確認。
openssl version
対応
Pythonをインストールしなおすと解決しました。
$ pyenv install
pyenv: /home/mokuzine/.anyenv/envs/pyenv/versions/3.11.1 already exists
continue with installation? (y/N) y
Downloading Python-3.11.1.tar.xz...
-> https://www.python.org/ftp/python/3.11.1/Python-3.11.1.tar.xz
Installing Python-3.11.1...
Installed Python-3.11.1 to /home/mokuzine/.anyenv/envs/pyenv/versions/3.11.1
sslモジュールがimportできるか確認。エラーが出なければOK。
python -m ssl