Python作ったツールを気軽に誰にでも利用してもらえるようにexeファイルにして、ダブルクリックするだけで起動できるようにする方法を解説します。
目次
Python プログラムをexe化する方法
Pythonで書いたスクリプトをコマンドラインから実行する為にはPythonがインストールされていなければなりません。それではせっかくの自動化プログラムも配布できないですよね。早速exeファイルにする方法を見て行きましょう。なお、この記事はPython3のスクリプトをexe化する方法についての解説です。
exe化する方法の概要
exeファイルとは、ダブルクリックするだけで実行されるプログラムのファイルです。Pythonで記述したスクリプトをexeファイルにする手順は下記の通りです。
- PyWin32をインストールする (初回のみ)
- PyInstallerをインストールする(初回のみ)
- exeファイルにする
- ダブルクリックして使う
以下、順番に解説していきます。
PyWin32のダウンロード~インストール
PyWin32のダウンロード
まず、下記サイトにログインしてPyWin32をインストールします。PyWin32は何かというと、PythonからWindows API*1にアクセスするためのものです。
Python for Windows Extensions - Browse Files at SourceForge.net
このURLにアクセスすると下のような画面が表示されるので、pywin32をクリックします。
pywin32をクリックするとフォルダが展開するので、その中から最新のバージョンをインストールします。しかし、2020年1月8日現在、インストールファイルが保存されている最新版はBuild221だったため、Build221を選択します。
フォルダを開くと、インストールの為のexeファイルを選択する画面が開きます。
この中から、自分の環境にあったexeファイルを選択しましょう。32ビット用と64ビット用があるので、自分のPCが何ビットなのか確認してダウンロードします。32ビットなら、pywin32-○○○.win32-py3.7.exe、64ビットならpywin32-○○○.win-amd64-py3.7.exeを選択します。どこか、適当なところに保存して起きましょう。
PyWin32のインストール
保存したexeファイルをダブルクリックして実行します。ダブルクリックするとインストーラーが起動します。
インストーラーの指示に従って、次へ、次へ通して完了を押せばPyWind32のインストールは完了です。
PyInstallerのダウンロード~インストール
PyInstallerのダウンロード
次にPyInstallerのダウンロード~インストールです。下記のサイトから最新のPyInstallerをダウンロードします。このPyInstallerと言うのがexe化を担ってくれるものです。
PyInstaller · PyPI
このサイトにインストールすると下のような画面が表示されるので左下のDownload filesを選択します。
Download filesを選択すると、右側にPyInstaller-3.5.tar.gzというファイルが表示されて選択できるようになるのでこれをクリックしてダウンロードします。
ダウンロードできたらローカルの適当な所に保存しておきます。次にgzファイルを解凍*2する必要があります。この圧縮ファイルを解凍するにはLhaplus(ラプラス)という無料ソフトが必要なので、解凍できない方は下記手順に進んで下さい。解凍できる方は次の項目はスキップして、「exeファイルにする」に飛んで下さい
PyInstalerのgzファイルの解凍
PyInstalerのgzファイルが解凍できなかった方はLhaplus(ラプラス)をインストールします。下記のサイトからLhaplus(ラプラス)をダウンロードして下さい。無償(2020年1月8日現在)なので安心して下さい。
「Lhaplus」定番の圧縮・解凍ソフト - 窓の杜
ダウンロードしたファイルをダブルクリックするとインストーラが起動するので、指示に従って次へ⇒次へ⇒インストール⇒完了でインストールを完了します。インストールが完了すると下のような初期設定画面が表示されます。
この初期設定画面で関連付け(解凍)の項目の左下にあるgzのチェックボックスにチェックを入れてOKを押します。
これでgzファイルをダブルクリックして解凍することができるようになりました。
PyInstallerのインストール
解凍してできたPyInstaller-3.5の中にPyInstallerというフォルダがあり、その中にsetup.pyというPythonスクリプトがあります。それを実行します。コマンドライン引数にinstallを設定します。下の図はCドライブ直下にpython_installというフォルダを作成し、そこに保存した場合の例です。
コマンドラインで下のように入力して、PyInstalerのバージョンが表示されれば成功です。
>>>pyinstaller --version
これでPythonスクリプトをexe化する全ての準備が完了しました。
exeファイルにする
exeファイルにしたいpythonのスクリプトをどこかに保存します。コマンドラインでその場所に移動して、PyInstallerを実行します。コマンドライン引数にexeファイル化したいスクリプト名を設定します。第二引数に--onefileをつけるようにしましょう。下は、デスクトップにtest.pyを保存して、test.pyをtest.exeにしたいという場合のコマンドラインへの入力例です。
>>>cd desktop >>>pyinstaller test.py --onefile
--onefileをつけないと、そのフォルダの中にexeファイルがないと実行できないという残念なexeファイルとなってしまいます。exeファイルだけを配布できるようにするために--onefileをつけておきましょう
exe化が完了するとフォルダ内にdist\test.exeと言う形でexeファイルが出力されます。これが待望のexe化されたファイルです。かわいらしいPythonのアイコンのexeファイルをダブルクリックするとスクリプトが実行されます。
Python プログラムをexe化する方法まとめ
手順を大まかにまとめると下記の通りです。
- 最初の一回だけPyWin32とPyInstallerのインストールが必要です
- 一度インストールしてしまえば、あとはPyInstallerをコマンドラインから実行するだけでOKです
- できあがったexeファイルはdistというフォルダの中にあります
exeファイル化してみんなに使ってもらえるようにしてみましょう!
<関連記事>