如何从Slurm中加载Anaconda虚拟环境?

4

我在安装了 Slurm 的虚拟机上按以下方式设置了 Anaconda。

base                     /root/anaconda3
upload                *  /root/anaconda3/envs/upload

在Slurm中的文件为:

#SBATCH -J vs_slurm_upload
#SBATCH -o ./out/%j_log.out
#SBATCH --ntasks=1
#SBATCH --array=0-14
FILES=(../workdir/*)

pwd
conda info --envs
source activate upload

然而,与我设置的Anaconda设置不同,没有上传虚拟环境的选项。

以下是结果:

base                     /root/anaconda3

为了在Slurm中设置虚拟环境,我需要设置Docker而不是在我的虚拟机中设置吗?

我还不太理解Slurm。

谢谢你的回复。


Conda检查环境的位置来源于多个地方,但最相关的可能是用户本地文件~/.condarc。您可能需要指定SLURM以用户身份而不是空白shell(例如,bash-l)运行脚本。 - merv
@merv 或许问题就在这里。我在我的sh文件中添加了bash -l,但是我仍然遇到了同样的问题。 当执行$PATH命令时, local: bash slurm: /var/spool/slurmd/job21697/slurm_script 还有其他方法吗? - Hyungsik Jo
2个回答

6
也许是因为用户特定的~/.condarc未被加载,这是由于没有在登录模式下运行SLURM脚本(即作为您的用户)导致的。尝试将脚本修改为类似以下内容:
#!/bin/bash -l

#SBATCH -J vs_slurm_upload
#SBATCH -o ./out/%j_log.out
#SBATCH --ntasks=1
#SBATCH --array=0-14
FILES=(../workdir/*)

pwd
conda info --envs
conda activate upload

请注意,我还将source activate更改为conda activate - 自从Conda v4.4以来,前者的语法已被废弃。

0

这个答案可以通过在这里描述链接中的信息来改进 - 至少概述一下。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接