运行需要 mpi 的命令时,失败并显示
error while loading shared libraries: libmpi_cxx.so.40: cannot open shared object file: No such file or directory
我在 conda 环境中运行它
pytorch_p36
。
但是,我检查了 libmpi_cxx.so.40
是否存在于同一个 conda 环境中。
命令
locate libmpi_cxx
输出
/home/ubuntu/anaconda3/envs/pytorch_p36/lib/libmpi_cxx.so
/home/ubuntu/anaconda3/envs/pytorch_p36/lib/libmpi_cxx.so.40
/home/ubuntu/anaconda3/envs/pytorch_p36/lib/libmpi_cxx.so.40.20.1
PATH
或LD_LIBRARY_PATH
有问题吗?
如果是这样怎么办?如何确保 2 个环境变量获取 anaconda 环境库?
试试这个:
LD_LIBRARY_PATH=$CONDA_PREFIX/lib [[rest of your command, e.g. python foo.py]]
在ubuntu上
sudo apt install libopenmpi3
哈哈,我用谷歌搜索了文件名,发现了这个:
https://packages.ubuntu.com/en/focal/amd64/libopenmpi3/filelist
安装后,似乎可以工作了!我使用的是一个特殊版本的 pytorch,但没有包含它。