You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Conda环境运行Shell脚本遇python:not found等问题的求助

Conda环境下运行Shell脚本的问题解决方法

问题回顾

  • 执行脚本时提示./run_augment_data.sh: 9: python: not found,但本地终端中type python python3显示python和python3均指向Conda环境test_env的路径
  • 将脚本中python改为python3后,出现ModuleNotFoundError: No module named 'torch',实际调用的是系统路径/usr/bin/python3而非Conda环境内的Python
  • 在脚本顶部添加Python路径的shebang后,出现Shell命令语法错误,因为脚本被当作Python代码执行

解决方案

1. 修正脚本的解释器声明

这是核心错误:脚本是Shell脚本,必须用Shell的shebang,不能用Python的。将脚本开头改为:

#!/bin/bash

(如果使用zsh则改为#!/bin/zsh)

2. 在脚本内显式激活Conda环境

脚本独立执行时不会继承终端的Conda环境,需在脚本中添加激活命令:

source /home/rd142857/anaconda3/bin/activate test_env

若你的Conda已初始化到Shell配置文件中,也可以用conda activate test_env,但使用完整路径的activate脚本兼容性更强。

3. 处理目录删除的潜在异常

原脚本中rm -r $LOGDIR会在目录不存在时报错,可添加判断避免中断:

if [ -d "$LOGDIR" ]; then
    rm -r "$LOGDIR"
fi

同时用mkdir -p确保父目录不存在时也能创建目标目录。

4. 统一使用环境内的Python

激活Conda环境后,直接用python即可调用环境内的解释器,无需硬编码路径,避免后续环境变动导致问题。

修改后的完整脚本

#!/bin/bash

# 激活目标Conda环境
source /home/rd142857/anaconda3/bin/activate test_env

LOGDIR="grappa_logs_checkpoints/ssp/"
# 仅当目录存在时执行删除
if [ -d "$LOGDIR" ]; then
    rm -r "$LOGDIR"
fi
# 创建目录(包含父目录)
mkdir -p "$LOGDIR"

export NGPU=4;
python -u -m torch.distributed.launch --nproc_per_node=$NGPU finetuning_roberta.py --train_corpus data/augment_data.txt \
                                   --eval_corpus data/spider_dev_data_v2.txt \
                                   --train_eval_corpus data/spider_train_data_small_v2.txt \
                                   --bert_model roberta-large \
                                   --output_dir "$LOGDIR/" \
                                   --do_train \
                                   --do_eval \
                                   --train_batch_size 12 \
                                   --max_seq_length 218 \
                                   --num_train_epochs 10 \
                                   > "$LOGDIR/log.out"

内容的提问来源于stack exchange,提问作者rd142857

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 04:10:12