1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jenkins「'python' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

Last updated at Posted at 2019-08-24

問題その1

Windows10でcron代わりのJenkinsにpythonスクリプトを実行させたらエラー発生!!
python --versionすらエラーになる始末です。

C:\Program Files (x86)\Jenkins\workspace\myjob>python --version  
'python' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

問題その2

これは単純にパスが通ってなかっただけだったのでJenkinsの環境変数にpythonのパスを追加したら解決しました。

キャプチャ.JPG

ところが次の問題が発生しました。

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からpythonを呼ぶだけで まさかパス問題に出くわすとは驚きました。
開発環境で時間を取られると やる気とか いろいろ消耗しますね。。。

環境

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

ウチの子供にこんな迷路でひらがなを教えていて、結構よい感じでした。

こちらのサイトで古いですが公開しているので良かったら見てね。

おまけhiragana_a_28_1_wall_sakura_out_square.png

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?