enable-shared時にpython get-pip.py –userで「cannot open shared object file: No such file or directory」
今回はenable-sharedオプションを使ってPythonを展開した後に
python get-pip.py --user
を叩いて下記のようなエラーが出てしまったときの対処法についてご紹介いたします。
1 |
python: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory |
動作環境はPython3.8.13で、RHEL系のLinuxディストリビューションであるAlmaLinux9.3を使用しております。
enable-shared時に
python get-pip.py --user
で「cannot open shared object file: No such file or directory」
Pythonを展開するときにenable-sharedオプションを使って展開しました。
1 |
./configure --prefix=/opt/python3 --enable-shared |
しかしその後
python get-pip.py --user
を叩くと、「python: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory」というエラーが出てしまいます。
1 2 |
[root@78be6a6dc26f src]# python get-pip.py --user python: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory |
上記は共有ライブラリが参照できていない状態となります。
結論を言うと、上記であれば「libpython3.8.so.1.0」の場所を探して、/usr/lib64/以下にハードリンクを貼りましょう。
私の場合は、Python3.9の環境が元々あって、その上にPython3.8に書き換えようとしておりました。
「libpython3.8.so.1.0」と「libpython3.9.so.1.0」の場所をfindコマンドを使ってそれぞれ探してみます。
1 2 3 4 5 |
[root@78be6a6dc26f src]# find / -name libpython3.8.so.1.0 /usr/src/Python-3.8.13/libpython3.8.so.1.0 /opt/python3/lib/libpython3.8.so.1.0 [root@78be6a6dc26f src]# find / -name libpython3.9.so.1.0 /usr/lib64/libpython3.9.so.1.0 |
/usr/lib64/以下に「libpython3.8.so.1.0」がないため、エラーが出ているようです。
/usr/lib64/以下にハードリンクを貼ってあげます。
1 |
ln /usr/src/Python-3.8.13/libpython3.8.so.1.0 /usr/lib64/libpython3.8.so.1.0 |
これで
python get-pip.py --user
が正常終了するようになりました。
終わりに
今回はenable-sharedオプションを使ってPythonを展開した後に
python get-pip.py --user
を叩いて冒頭のようなエラーが出てしまったときの対処法についてご紹介させていただきました。
ディスカッション
コメント一覧
まだ、コメントがありません