Pythonに慣れてきて作業が自動化できるようになると、「コマンドプロンプト」や「Visual Studio Codeのターミナル」で実行するのが面倒になるときがあります。
またPythonプログラムを作ったは良いけど、現場での起動方法に悩む方もいらっしゃると思います。
今回はファイル上でダブルクリックしてPythonプログラムができるようになる方法を紹介します。
Windows 11で実行しており、Macではそのまま実行できない可能性があります。この点に留意してください。
この記事の内容
バッチファイル(.bat)でPythonプログラムを実行
まずは簡単なバッチファイルでの実行方法です。
Pythonファイル(.py)を実行する指示を出すファイルを作成します。
バッチファイルの作成
メモ帳で以下のコードを記載します。
「ファイル名.py」には自身が作成したPythonプログラムのファイル名を記載します。
@echo off
python ファイル名.py
pause
「名前を付けて保存」の際に名前の最後に「.bat」をつけて保存します。
これでバッチファイルに変換できます。

バッチファイルをダブルクリックで実行
バッチファイルとPythonファイルを同じフォルダに保存します。
作成したバッチファイルをダブルクリックすることでPythonプログラムが実行されます。
バッチファイルとPythonファイルの保存先が違う場合は、例えば以下のようにPythonファイルの位置を指定したコマンドにしなければなりません。
@echo off
python C:\Users\ユーザー名\Documents\ファイル名.py
pause
難しい場合はバッチファイルのショートカットを作って好きなところへ配置し、それをダブルクリックで実行しても構いません。
PyInstallerでPythonプログラムを実行ファイル(.exe)に変換
次はPyInstallerを使ってPythonファイルそのものを実行ファイルに変換します。
PyInstallerのインストール
pipを用いたインストールの詳細手順は省きます。
PyInstallerを以下のコマンドでインストールします。
pip install pyinstaller
Pythonスクリプトを実行ファイルに変換
「コマンドプロンプト」や「Visual Studio Codeのターミナル」でPyInstallerの変換コマンドを実行します。
実行するためには、まずPythonファイルを保存している位置まで移動する必要があります。
例えば以下のようにcd(カレントディレクトリ)コマンドを使います。
cd C:\Users\ユーザー名\Documents
バッチファイル作成時と同様に「ファイル名.py」には自身が作成したPythonプログラムのファイル名を記載します。
pyinstaller ファイル名.py
新たに「dist」というフォルダに実行ファイルが保存されています。
一緒に生成されている「build」というフォルダは実行ファイルを作るときに使われるものですので、正常に作成された後は不要です。
distフォルダ内のファイルを1ファイルとしてまとめる場合は以下のコマンドで実行します。
ただし、実行ファイルの動作が少し遅くなります。
pyinstaller --onefile ファイル名.py
実行ファイルをダブルクリックで使用
PyInstallerによって作成された実行ファイルをダブルクリックすることでPythonプログラムが実行されます。
バッチファイル生成時とは異なり、実行ファイルをどこに保存していても問題ありません。
実はPythonをインストールしていないPCでも実行できます。
実行ファイルの中にPythonや使っているライブラリの情報が一緒に保存されているためです。
(参考)Pathlibが影響するエラー
最新のpyinstallerにはPathlibというPythonの標準ライブラリの互換性がなくなっていました。
アンインストールすると問題なく実行できます。
The ‘pathlib’ package is an obsolete backport of a standard library package and is incompatible with PyInstaller. Please remove this package (located in C:\Users\……) using
“C:\Users\…………\python.exe” -m pip uninstall pathlib
then try again.
以下のコメントを参考に、PyInstallerのバージョンを5.7にダウングレードすることで解決しました。
I’ve experienced the same problem. I managed to solve it by downgrading pyInstaller to 5.1 (from 5.8) without touching pathlib. An additional possibility to consider.
pip install pyinstaller==5.7
ちなみにコメントの方は5.1にダウングレードしたそうですが、バージョン5.5、5.6、5.7も試してうまくいっています。
バッチファイルと実行ファイルの使い分け
バッチファイルと実行ファイルで方法が2種類ありますが、どのように使い分けるのでしょうか?
まずはバッチファイルで考える
ダブルクリックして実行するだけであればバッチファイルを作成する方が分かりやすくて簡単です。
実際に動かすPythonファイルがそのまま残っているため編集作業も楽です。
ただPythonファイルとバッチファイルの保存先に少し気をつけなければなりません。
実行ファイルの利点
実行ファイルにはバッチファイルにはない以下のような利点があります。
- Pythonプログラムを使いたいデバイスにPythonや必要なライブラリをインストールしなくて良い
- Pythonコードの直接的な閲覧や改ざんが難しくなりセキュリティが向上する
例えば現場用PCにPythonの環境を入れたくない場合でも、実行ファイル(.exe)の形にすることで簡単に現場移行できるようになります。
(発展)定期実行できるようにする
Windowsのタスク スケジューラを活用することで、先ほど作成したバッチファイルや実行ファイルを定期実行できるようになります。
具体的には、ダブルクリックして実行する操作をタスク スケジューラにお任せして自動で実行してもらいます。
タスク スケジューラを起動しタスク定義の画面を開く
- スタートメニューから「タスク スケジューラ」を起動する
- 左タブにある「タスク スケジューラ ライブラリ」を選択する
- 右タブにある「タスクの作成」を選択する


タスクの定義をする
- 「全般」タブでタスクの名前や説明を入力し、適切なセキュリティオプションを選択する
- 「トリガー」タブで「新規」をクリックし、開始日時、実行間隔、繰り返し回数などを指定する
- 「操作」タブで新規」をクリックし、アクションの種類として「プログラムの開始」を選択する
- プログラム/スクリプトの欄に実行したいバッチファイル(.bat)や実行ファイル(.exe)指定する
- 必要に応じて「条件」タブと「設定」タブで、タスクの実行条件やその他のオプションを調整する


関連記事
データ分析の基礎
データのスケール変更方法
プラント制御へのAI活用
