【python3】仮想環境下で実行するpythonプログラムをタスクスケジューラに登録する

pythonで書いたプログラムをタスクスケジューラに登録するぞ~!
登録したぞ~!
動かねぇじゃねぇか!!!仮想環境が動いてねぇんだわ!!

結論

「操作」>プログラムの開始>プログラム/スクリプト に{仮想環境のパス}\Scripts\python.exe を登録する

引数の追加 には実行するファイル名

開始(オプション) に実行ファイルのあるパス

やりたいこと

「仮想環境アクティベートした上でpythonプログラムを実行する」をタスクスケジューラに登録するにはどうしたらいい???

経緯

「やりたいこと」の通りなんですが、普通に動かせば動くpythonプログラムが、タスクスケジューラからだと動かなくなってしまい、しかもログ出力すらされないので、ほんの一瞬立ち上がるコマンドプロンプトをスローモーションカメラで撮影してエラー内容を突き止めました。

「importするモジュールがないよー☆」

って書いてあった。そりゃそうだ。

そもそも、pythonプログラムをタスクスケジューラに登録する方法

タスクスケジューラを起動>タスクの作成

操作>プログラムの開始を選択>「プログラム/スクリプト」の欄に、 {pythonをインストールしてあるフォルダのパス}\python.exe を入力

引数の開始 に 動かしたいファイル名(main.pyとか)

開始 に、↑のファイルが置いてあるフォルダパス(末尾の\は不要)

あとはトリガー設定すれば指定のタイミングでpythonプログラムが走ってくれる。やったね。

「仮想環境下でpythonプログラムを実行」をタスクスケジューラに登録する方法

{pythonをインストールしてあるフォルダのパス}の代わりに、{仮想環境のフォルダパス}\Scripts\python.exe を入力すれば仮想環境下で実行される。

.batファイル作って~~とか色々試したんですけど、すっげ単純な話でした。知らないとわかんないもんです。

参考

virtualenvをアクティブにし、.batから.pyスクリプトを実行します

この記事が気に入ったらサポートをしてみませんか?