【完全放置】作ったPythonツールを「毎日決まった時間」に自動実行させる方法(Windows/Mac対応)

こんにちは、ショウです。

これまでの記事で、Pythonを使って「天気を調べる」「価格を監視する」「Excelを集計する」といった便利なツールを作ってきました。

でも、正直こう思ったことはありませんか? 「毎日自分でプログラムを実行ボタンを押すの、ちょっと面倒だな……」

せっかくの自動化ツールも、実行するのを忘れてしまったら意味がありません。そこで今回は、あなたのPCが**「決まった時間に勝手にプログラムを起動してくれる」**設定方法を解説します。

これで、朝起きたらLINEに通知が届いていたり、出社したらExcelが完成していたりする「完全放置」の環境が手に入ります!


1. 仕組みの解説:OSの標準機能を使おう

「決まった時間にソフトを動かす」という処理は、実はWindowsやMacに最初から備わっている機能で実現できます。

  • Windowsの方: 「タスクスケジューラ」を使います。
  • Macの方: 「カレンダー」アプリ、または「launchd」という仕組みを使います。

今回は、最も一般的で使いやすいWindowsのタスクスケジューラと、Macで手軽にできるカレンダー連携の2つを紹介します。


2. 【Windows編】タスクスケジューラで設定する

Windowsユーザーにとっての最強ツールが「タスクスケジューラ」です。

手順①:Pythonのパスを確認する

まず、「どのPython」で「どのファイル」を動かすかを指定するために、Pythonの場所を調べます。 コマンドプロンプトで以下を入力してください。

Bash

where python

表示されたパス(例:C:\Users\YourName\AppData\Local\Programs\Python\Python39\python.exe)をメモしておきます。

手順②:タスクの作成

  1. スタートメニューで「タスクスケジューラ」を検索して開きます。
  2. 右側の「基本タスクの作成」をクリック。
  3. 名前: 「Amazon価格監視」など分かりやすい名前を付けます。
  4. トリガー: 「毎日」や「毎週」など、動かしたい頻度を選びます。
  5. 操作: 「プログラムの開始」を選択。
  6. プログラム/スクリプト: 手順①でメモした「Pythonのパス」を貼り付けます。
  7. 引数の追加(オプション): 実行したいPythonファイルのパス(例:C:\Users\Documents\amazon_check.py)を入力します。

これで完了です!設定した時間になると、黒い画面が一瞬立ち上がり、プログラムが自動実行されます。


3. 【Mac編】カレンダーアプリで設定する

Macで最も直感的にスケジュール実行する方法は、標準の「カレンダー」アプリを使う方法です。

  1. 「カレンダー」アプリを開き、実行したい時間に新規イベントを作成します。
  2. 「通知」の項目をクリックし、**「カスタム…」**を選択。
  3. 最初のプルダウンで**「ファイルを開く」**を選択。
  4. 実行したいPythonファイルを選択します。
  5. 「繰り返し」設定を「毎日」などにすれば、スケジュール化完了です。

4. 実行をより確実にするための「3つのコツ」

自動実行を失敗させないために、以下のポイントをチェックしておきましょう。

  1. PCの電源設定: PCがスリープ状態だと動かない設定になっている場合があります。「電源とスリープ」の設定で、実行時間にPCが起きているようにするか、「スリープを解除してタスクを実行する」にチェックを入れましょう。
  2. 絶対パスで書く: プログラム内でファイルを読み書きする場合、sales.xlsx ではなく C:\Users\...\sales.xlsx のように、場所をフルネーム(絶対パス)で書くのが安全です。
  3. ログを出す: 自動実行だとエラーが出ても気づけません。前回の記事で紹介した「LINE通知」を組み込んで、「正常に終わりました」と報告させるようにすると安心です。

まとめ:あなたのPCが「24時間働く秘書」になる

今回の設定を行うことで、あなたが寝ている間も、仕事をしている間も、Pythonが裏で黙々と働いてくれるようになります。

「技術を組み合わせて、生活を便利にする」 これこそがプログラミングの醍醐味です。

まずは週に1回、面倒な集計作業を自動化するところから始めてみませんか?


あわせて読みたい記事:


編集後記

ちなみに、さらに上級編として「自分のPCの電源を切っていても動かしたい」という場合は、クラウド(サーバー)を使います。 「Render」や「PythonAnywhere」といったサービスを使えば無料で実現できるので、興味がある方はぜひコメントで教えてくださいね!