2010-03-07 2 views
2

클러스터에서 실행하기위한 qsub 쉘 스크립트에서 python 스크립트에 대해 여러 개의 unix 명령과 python을 호출합니다. 문제는 스크립트가 실행될 때 셸에서 문제가 발생하여 존재하는 디렉토리와 파일을 찾을 수 없다는 것입니다. 예를 들어,은 qsub의이 .out 출력 파일에서 나는 다음과 같은 오류를 참조하십시오qsub 클러스터 스크립트에서 실행할 때 스크립트가 디렉토리/파일을 찾을 수 없습니다.

cd: /valid/dir/name: No such file or directory 
python valid/script/name.py 
python: can't open file 'valid/script/name.py': [Errno 2] No such file or directory 

그래서 스크립트 수 확실히 존재 일세에없는 CD. 마찬가지로 python 스크립트를 사용하여 python을 호출하면 오류가 발생합니다.

어떤 문제가 여기에 잘못 될지 또는 어떻게 디버깅을 시도 할 수 있습니까?

대단히 감사합니다.

답변

0

오류 자체는 매우 자명합니다. /valid/dir/name이 실제로 디렉토리인지 확인하십시오. 이 디렉토리를 쉘 스크립트에 넣으면 찾을 수없는 경우이 디렉토리를 만들 수 있습니다.

if [ ! -d "/valid/dir/name" ];then 
    mkdir -p /valid/dir/name 
fi 

파이썬 오류는 "유효한"디렉토리가 없기 때문에 오류가 발생합니다.

0

이 디렉터리는 가능한 모든 계산 노드에 있습니까? 스크립트는 제출 한 호스트에서 반드시 실행되지는 않습니다. echo 호스트 이름과 동등한 python을 스크립트에 추가 한 다음 해당 호스트에 디렉토리가 있는지 확인하십시오.