python: 共有ライブラリの読み込み中にエラーが発生しました: libpython3.4m.so.1.0: 共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリがありません
virtualenvを使用してPythonの仮想環境を作成し、有効化すると、Pythonがインストールされている場所を確認することができます、
(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
しかし、pythonを入力した後、以下のようなエラーメッセージが表示されましたが、根本的な理由は何でしょうか?
(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
20
5
1.ある人が、この方法で問題を解決できると言っていました(私は別の方法で解決したので、うまくいくかどうかわかりません): Py3.4' の lib パスを $LD_LIBRARY_PATH 環境変数に追加する まず、python3.4のlibパス(インストールしたフォルダ内)を調べます(私の場合):/opt/python361/libを環境変数に追加してください: バッシュ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/python361/lib
LD_LIBRARY_PATH=[libpython3.4m.so の Python パス]`をエクスポートする。
libpython3.4m.so`は、ビルドしたpythonのソースの下にあります。
.bashrcに記述しておくと、ログイン時に自動的に設定されます。
私のマシンではvirtualenvを強制的に3.4にすることはできませんが、virtualenvの
lib
の下に、ローカルのpythonインストールへのシンボリックリンクがたくさんあるのがわかると思います。libpython3.4m.so`はその中の一つで取得されているのでしょう。Python 3.6では、以下の方法で修正されました。
別の方法は、たとえば、configureに
LDFLAGS = "-Wl、-rpath / usr / local / lib"
を追加することです。/ usr / local / lib
はlibpython3のパスです。* .so
ファイルが入っています。上記の称賛、python 3.Xの場合、この問題を次のように修正できます。
手動で環境パスを変更する必要はありません。