我正在使用 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
似乎不需要繁瑣的停用和激活就可以做同樣的事情。他們真的在做同樣的事情嗎?如果是這樣,哪個是更好的做法?
uj5u.com熱心網友回復:
使用環境的程式化執行通常最好通過conda run子命令來完成。例如,
my_slurm_script.sh
#!/bin/bash -l
conda run -n my_env python my_script.py
閱讀conda run --help詳情。
uj5u.com熱心網友回復:
當您激活 env 時,它只是將 python 可執行檔案更改為外行術語/anaconda3/envs/my_env/bin/python而不是系統的 python 可執行檔案/usr/bin/python。
更好的方法是使用 conda 的內置方法conda run -n env_name script.py。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/478114.html
下一篇:Bash陣列回圈只取第一個條目
