使用Slurm启动Python脚本时动态库缺失问题求助
使用Slurm启动Python脚本时动态库缺失问题求助
我在使用Slurm启动Python脚本时遇到了环境变量相关的问题,具体是动态库找不到的情况,想请教各位前辈帮忙分析解决。
首先,我有一段简单的Python脚本,在普通的shell会话中运行完全正常,能够顺利导入petsc4py:
from petsc4py import PETSc print("petsc4py imported successfully")
但当我尝试用Slurm的sbatch脚本提交运行时,尽管已经在sbatch脚本里设置了和shell会话完全一致的环境(source了相同的bash配置文件、加载了相同的模块、激活了同一个Python虚拟环境),却出现了报错。我的sbatch脚本内容如下:
#!/bin/bash #SBATCH --job-name=petsc4py_import_test #SBATCH --ntasks=2 #SBATCH --cpus-per-task=8 #SBATCH --time=00:30:00 #SBATCH --output=output.log #SBATCH --error=error.log #SBATCH --nodes=1 source $HOME/.bash_profile module purge module load python/3.10.0 openmpi gcc openblas/latest slurm source $HOME/my_env/bin/activate srun --export=ALL --mpi=pmix_v3 python3 petsc4py_test.py
运行后得到的错误信息如下:
ImportError: liblapack.so.3: cannot open shared object file: No such file or directory srun: error: node001: tasks 0-1: Exited with exit code 1
明明已经确保了环境配置和直接在shell里运行时一致,为什么Slurm任务里就找不到liblapack.so.3这个动态库呢?有没有大佬能给点排查思路或者解决办法?
备注:内容来源于stack exchange,提问作者sbrisson
相关产品推荐
相关产品推荐

