最近遇到一个奇怪的事情:
- 直接分配的计算节点(salloc 指令),ssh 连接上之后应该是 bash 终端,只能用
conda activate
- 但是用提交脚本的方式来分配计算节点(sbatch 指令),脚本中如果要激活环境,却只能用
source activate
。
调研了一下:
https://developer.baidu.com/article/details/2799698
source activate
是 conda version <= 4.3 的旧指令。
conda version > 4.3 之后,变成了conda activate
,我不太确定是不是兼容了一段时间,反正最新的是只能 conda activate
。
我猜测,salloc + ssh 连接计算节点,启动的 bash 脚本的环境中的是高版本的 conda,所以 conda activate
而 sbatch,可能因为系统的一些旧代码的遗留问题,环境中的 conda 版本很低,所以 source activate
。
所以具体使用得看服务器的手册和文档。