Jenkins "'python'은 내부 또는 외부 명령, 조작 가능한 프로그램 또는 배치 파일로 인식되지 않습니다."

문제 1



Windows10에서 cron 대신 Jenkins가 파이썬 스크립트를 실행하게하면 오류가 발생합니다! !
python --version조차 오류가 발생하는 시작입니다.
C:\Program Files (x86)\Jenkins\workspace\myjob>python --version  
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

문제 2



이것은 단순히 경로가 통과하지 않았기 때문에 Jenkins 환경 변수에 파이썬 경로를 추가하면 해결되었습니다.



그런데 다음 문제가 발생했습니다.

conda activate 후에 bat이 종료되어, 중요한 python 스크립트가 실행되고 있지 않습니다.
C:\Program Files (x86)\Jenkins\workspace\auto_twitter>C:\ProgramData\Anaconda3\Scripts\activate.bat C:\ProgramData\Anaconda3 
Finished: SUCCESS

원인과 해결책



conda activate로 conda.bat를 직접 호출하고 있기 때문에, 종료하면 원래 Jenkins의 bat 본체도 종료하고 있는 것이 원인이었습니다.

그래서 conda activate를 CALL 호출하여 해결했습니다.

수정 전


conda activate

수정 후


CALL conda activate

실행 결과



conda activate 이후 python 명령이 실행되었습니다.
C:\Program Files (x86)\Jenkins\workspace\auto_twitter>CALL conda activate 

(base) C:\Program Files (x86)\Jenkins\workspace\auto_twitter>python --version  
Python 3.6.8 :: Anaconda, Inc.

결론



Jenkins에서 파이썬을 부르는 것만으로 설마 패스 문제를 만나는 것은 놀랐습니다.
개발 환경에서 시간이 걸리면 동기부여라든지 여러가지 소모하네요. . .

환경



Windows10
Jenkins 2.176.2
Anaconda(conda) 4.7.10
Python 3.6.8::Anaconda, Inc.

우치의 아이에게 이런 미로로 히라가나를 가르치고 있어, 상당히 좋은 느낌이었습니다.

이 사이트에서 낡습니다만 공개하고 있으므로 좋았으면 봐 주세요.

좋은 웹페이지 즐겨찾기