繁体   English   中英

在 bash 脚本中使用 conda activate 或指定 python 路径?

[英]Using conda activate or specifying python path in bash script?

我正在使用 SGE 或 SLURM 在一些 Linux 集群上运行一些 python 脚本。 我已经使用登录节点正确设置了我的 conda 环境。 我一直在写类似的东西

source ~/.bashrc
module purge #Kill all active modules
conda init bash
conda deactivate
conda deactivate
conda activate my_env

python my_script.py

正确激活环境。 (我已经做了很多工作来解决这个问题)但是,我刚刚找到了一些示例代码,例如

/anaconda3/envs/my_env/bin/python my_script.py

似乎不需要繁琐的停用和激活就可以做同样的事情。 他们真的在做同样的事情吗? 如果是这样,哪个是更好的做法?

通过conda run子命令通常更好地在环境中执行程序化执行。 例如,

my_slurm_script.sh

#!/bin/bash -l
conda run -n my_env python my_script.py

阅读conda run --help了解详情。

当您激活一个 env 时,它只是将 python 可执行文件更改为/anaconda3/envs/my_env/bin/python而不是系统的 python 可执行文件/usr/bin/python外行术语。

更好的方法是使用 conda 的内置方法conda run -n env_name script.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM