MENU
Apple製品を安く買うなら!詳細はこちら→ CLICK!

タスクスケジューラにPythonスクリプトを設定し自動実行する

本ページにはプロモーションが含まれています。
タスクスケジューラーでpython自動実行_6

こんにちは、fuyutsuki(@Fuyutsuki)です。

Pythonを使って作業を自動化する際に考えることは、「Pythonスクリプト自体を自動で実行したい」という事ではないでしょうか。

Windowsで標準に備わっている「タスクスケジューラ」というアプリがPythonを自動で実行するのに便利ですので、設定方法について解説します。

目次

タスクスケジューラにPythonスクリプトを設定し自動実行する手順

Windowsのタスクスケジューラを使用してPythonスクリプトを定期的に実行するため、以下の手順で設定しましょう。

パソコンがスリープモードになっているとタスクの実行が停止されてしまいます。タスクスケジューラにはスリープ状態からの復帰をトリガーとしてタスクを開始するオプションがありますし、電源オプションの変更も行っておいた方が良いです。

タスクスケジューラでPythonスクリプトを設定する手順

まずはスタートメニューから「タスクスケジューラ」と検索し、起動しましょう。タスクスケジューラが起動したら、「基本タスクの作成」をクリックします。

タスクスケジューラーでpython自動実行_1
タスクスケジューラが起動したら「基本タスクの作成」をクリックします。

まずはタスクの名前と説明を入力します。説明は自分が分かるような内容にしておけば問題ありません。

タスクスケジューラーでpython自動実行_2

タスクトリガーの頻度を設定します。

タスクスケジューラーでpython自動実行_3

トリガーの開始日と間隔を設定します。

タスクスケジューラーでpython自動実行_4

操作では「プログラムの開始」を選択して次へをクリックしましょう。

タスクスケジューラーでpython自動実行_5

プログラムの設定を行います。設定内容は下記のとおりです。

  • プログラム/スクリプト(P):python.exeのパスを入力(例:C:\Python39\python.exe)
  • 引数の追加(オプション)(A):.pyファイルのパスを入力(例: D:\Scripts\my_script.py)
  • 開始(オプション)(T):.pyファイルが格納されたフォルダパスを入力(例: D:\Scripts

こちらの記事で解説しているようなvirtualenvを使って仮想環境を構築されている方は、仮想環境のpython.exeまでのパスを入力します。

ここの設定が失敗していると、指定時刻になってもプログラムが開始されません。プログラムが開始されない時はこちらの設定を見直しましょう。

タスクスケジューラーでpython自動実行_6

ここまで設定が完了すると基本タスクの設定は終了になります。

タスクスケジューラーでpython自動実行_7

作成したタスクの詳細を確認できます。

必要に応じてセキュリティオプションの「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れましょう。

Fuyutsuki

スリープモードでもPythonスクリプトを自動で実行したい場合には、「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れる必要があります。

タスクスケジューラーでpython自動実行_8

次に条件タブの設定を見直しましょう。

「コンピュータをAC電源で試用している場合のみタスクを開始する」にチェックが入っている場合は必要に応じてチェックを外しましょう。

ネットワークの設定も確認します。ネットワーク接続が必要なPythonスクリプトの場合は、「次のネットワーク接続が使用可能な場合のみタスクを開始する」にチェックを入れましょう。

スリープ復帰直後はネットワーク接続が完全に回復していない可能性があるため、Pythonスクリプト内で適切なエラーハンドリングやリトライロジックを実装することをお勧めします。

タスクスケジューラーでpython自動実行_9

スクスケジューラを設定する際の注意点

「ユーザーがログオンしているかどうかにかかわらず実行する」にチェックを入れていた場合でも、期待通りにPythonスクリプトが実行されない場合があります。

Fuyutsuki

こういった時にはコンピュータの電源管理設定を一度見直しましょう。

特にノートパソコンでは、バッテリー節約のためにスリープモードが厳しく管理されている場合があるため、設定を見直す必要があります。

パソコンの電源オプションを見直す手順

Windowsの電源オプションを見直す手順について解説します。

設定アプリを開き、システム>電源を選択しましょう。電源の項目から設定することができます。

システムから電源の設定変更
設定のシステム>電源を選択する

上記のやり方では電源オプションの設定が不十分なことがあります。その場合は、「コントロールパネル>すべてのコントロールパネル項目>電源オプション>プラン設定の概要」から設定を変更できます。

ハードディスクの電源を切られるとPythonスクリプトを自動で実行することができなくなってしまうため、「次の時間が経過後ハードディスクの電源を切る」の設定をなしにします。必要に応じてスリープについても設定をなしに変更しておきましょう。

電源の設定変更_コントロールパネルから
詳細な電源設定の変更

まとめ:タスクスケジューラでPythonスクリプトを自動実行しよう

今回の記事ではタスクスケジューラでPythonスクリプトを自動実行する手順について解説しました。

Pythonスクリプトを自動で実行できるようになると、自動化の幅が広がりますので是非一度お試しください。また、おすすめのログの残し方について、実際に私が使用しているPythonコードを紹介しつつ、こちらの記事で紹介しています。

私のブログではPythonの解説記事を多く執筆しているため、またブログの記事を読みに来ていただけると嬉しいです!

タスクスケジューラーでpython自動実行_6

この記事が気に入ったら
フォローしてね!

この記事を書いた人

快適なデスク環境で作業効率アップをテーマに、様々なガジェットを紹介している20代エンジニアです。

作業効率化につながるようなプログラミングの情報についても発信中。

目次