python: kesalahan saat memuat pustaka bersama: libpython3.4m.so.1.0: tidak dapat membuka file objek bersama: Tidak ada file atau direktori seperti itu

Saya telah membuat lingkungan virtual python menggunakan virtualenv, setelah mengaktifkannya, saya dapat melihat di mana Python diinstal,

(virtualenv-test) bash-4.1$ whereis python

python: /usr/bin/python2.6 /usr/bin/python2.6-config /usr/bin/python /usr/lib/python2.6 /usr/lib64/python2.6 /usr/X11R6/bin/python2.6 /usr/X11R6/bin/python2.6-config /usr/X11R6/bin/python /usr/bin/X11/python2.6 /usr/bin/X11/python2.6-config /usr/bin/X11/python /usr/include/python2.6 /usr/share/man/man1/python.1.gz

(virtualenv-test) bash-4.1$ which python

/data/virtualenv-test/bin/python

Namun, setelah mengetik python, saya mendapat pesan kesalahan berikut, apa alasan yang mendasarinya?

(virtualenv-test) bash-4.1$ python
python: error while loading shared libraries: libpython3.4m.so.1.0: cannot open shared object file: No such file or directory
  1. Seseorang mengatakan bahwa cara ini dapat memperbaiki masalah (saya tidak tahu apakah cara ini berhasil, karena saya memperbaiki masalah dengan cara lain): tambahkan jalur lib py3.4's ke variabel lingkungan $LD_LIBRARY_PATH Pertama-tama cari tahu lib path dari python3.4 (di folder yang terinstal), seperti saya adalah: /opt/python361/lib, lalu tambahkan ke variabel lingkungan:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/python361/lib
  2. Saya menemui masalah yang sama ketika menggunakan virtualenv dengan python3.6, dan saya perbaiki dengan cara berikut:
  • Pertama, edit sudo vi /etc/ld.so.conf, tambahkan lib path python3.x ke file ini (seperti saya adalah: /opt/python361/lib), dan simpan modifikasi file conf ini;
  • Kemudian, aktifkan file ini dengan sudo /sbin/ldconfig -v. Itu saja.
Komentar (1)

export LD_LIBRARY_PATH=[path python Anda ke libpython3.4m.so]

libpython3.4m.so berada di bawah sumber python Anda dari mana Anda membangunnya.

Letakkan di .bashrc Anda untuk mengaturnya saat login secara otomatis.

Saya tidak bisa memaksa virtualenv ke 3.4 di mesin saya, tetapi Anda dapat melihat bahwa di bawah lib virtualenv Anda hanya ada banyak symlink ke instalasi python lokal Anda. Saya kira libpython3.4m.so diambil oleh salah satu dari mereka.

Komentar (0)

Untuk Python 3.6, hal ini diperbaiki dengan

sudo apt-get install libpython3.6-dev
Komentar (0)