ImportError:libpython3.7m.so.1.0:无法打开共享对象文件:没有这样的文件或目录



我在计算集群上运行python脚本时遇到问题,如果这是一个天真的错误,我会提前道歉。我不确定这个问题是否源于我错误地配置了自己的conda虚拟环境,但当我运行时,这个问题仍然会重现

srun -p use-everything --pty python test.py

我得到错误

Traceback (most recent call last):
File "test.py", line 4, in <module>
from acme.agents.tf import dqn
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/agents/tf/dqn/__init__.py", line 18, in <module>
from acme.agents.tf.dqn.agent import DQN
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/agents/tf/dqn/agent.py", line 20, in <module>
from acme import datasets
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/datasets/__init__.py", line 17, in <module>
from acme.datasets.reverb import make_reverb_dataset
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/datasets/reverb.py", line 22, in <module>
from acme.adders import reverb as adders
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/adders/reverb/__init__.py", line 21, in <module>
from acme.adders.reverb.base import DEFAULT_PRIORITY_TABLE
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/acme/adders/reverb/base.py", line 26, in <module>
import reverb
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/reverb/__init__.py", line 27, in <module>
from reverb import item_selectors as selectors
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/reverb/item_selectors.py", line 19, in <module>
from reverb import pybind
File "/om2/user/armas/anaconda/envs/dist_rl/lib/python3.7/site-packages/reverb/pybind.py", line 1, in <module>
import tensorflow as _tf; from .libpybind import *; del _tf
ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
srun: error: node014: task 0: Exited with exit code 1

在我的本地机器上,当我运行虚拟环境时,我也遇到了同样的问题,我简单地用sudo apt-get install libpython3.7解决了这个问题。

以下是一些可能对您有所帮助的其他信息。

$which libpython
/usr/bin/which: no libpython in (/om2/user/armas/anaconda/envs/dist_rl/bin:/om2/user/armas/anaconda/bin:/om2/user/armas/anaconda/condabin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
$echo $PATH
/om2/user/armas/anaconda/envs/dist_rl/bin:/om2/user/armas/anaconda/bin:/om2/user/armas/anaconda/condabin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
$echo $LD_LIBRARY_PATH
/om2/user/armas/anaconda/bin/

当我更改LD_LIBRARY_PATH(即export LD_LIBRARY_PATH=/om2/user/armas/anaconda/lib:$LD_LIBRARY_PATH(并运行脚本时,我的anaconda认为我没有安装jax。我运行了pip-install-dm-acme[jax],现在当我运行脚本时,它说我没有一个名为atari_py的模块。我认为这会让我陷入一系列的依赖关系。

我使用这个链接安装了acme,但使用了conda环境。我的系统管理员说,可能acme不是为蟒蛇而生的。如果是这样的话,为什么会这样呢?

如果我错过了什么,请告诉我,我一定会补充,再次感谢!

试试这个:

sudo apt-get install libpython3.7

最新更新