ゆんの業務改善ブログ

①生産性向上 ②業務改善 ③自動化 について情報発信しています。VBAプログラムは本当初心者から他のアプリケーションを呼び出して使う上級者的な使い方まで幅広いレベルで解説していきます。

【Python】 プログラムをexe化する方法|PyWin32, PyInstaller

Python作ったツールを気軽に誰にでも利用してもらえるようにexeファイルにして、ダブルクリックするだけで起動できるようにする方法を解説します。

目次

Python プログラムをexe化する方法

Pythonで書いたスクリプトをコマンドラインから実行する為にはPythonがインストールされていなければなりません。それではせっかくの自動化プログラムも配布できないですよね。早速exeファイルにする方法を見て行きましょう。なお、この記事はPython3のスクリプトをexe化する方法についての解説です。

exe化する方法の概要

exeファイルとは、ダブルクリックするだけで実行されるプログラムのファイルです。Pythonで記述したスクリプトをexeファイルにする手順は下記の通りです。

  1. PyWin32をインストールする (初回のみ)
  2. PyInstallerをインストールする(初回のみ)
  3. exeファイルにする
  4. ダブルクリックして使う

以下、順番に解説していきます。

PyWin32のダウンロード~インストール

PyWin32のダウンロード

まず、下記サイトにログインしてPyWin32をインストールします。PyWin32は何かというと、PythonからWindows API*1にアクセスするためのものです。

Python for Windows Extensions - Browse Files at SourceForge.net

このURLにアクセスすると下のような画面が表示されるので、pywin32をクリックします。

このサイトからPyWin32をインストールする
PyWin32をインストールできるwebサイト

pywin32をクリックするとフォルダが展開するので、その中から最新のバージョンをインストールします。しかし、2020年1月8日現在、インストールファイルが保存されている最新版はBuild221だったため、Build221を選択します。

exeファイルのある最新版を選択する。筆者は221を選択。
PyWin32の複数のバージョンが選択できる

フォルダを開くと、インストールの為のexeファイルを選択する画面が開きます。

32ビット用と64ビット用がある
自分の環境にあったexeファイルを選択する

この中から、自分の環境にあったexeファイルを選択しましょう。32ビット用と64ビット用があるので、自分のPCが何ビットなのか確認してダウンロードします。32ビットなら、pywin32-○○○.win32-py3.7.exe、64ビットならpywin32-○○○.win-amd64-py3.7.exeを選択します。どこか、適当なところに保存して起きましょう。

PyWin32のインストール

保存したexeファイルをダブルクリックして実行します。ダブルクリックするとインストーラーが起動します。

PyWin32のインストーラ画面
PyWin32のインストーラ画面

インストーラーの指示に従って、次へ、次へ通して完了を押せばPyWind32のインストール

PyWind32のインストールが完了したところ
PyWind32のインストール完了画面
は完了です。

PyInstallerのダウンロード~インストール

PyInstallerのダウンロード

次にPyInstallerのダウンロード~インストールです。下記のサイトから最新のPyInstallerをダウンロードします。このPyInstallerと言うのがexe化を担ってくれるものです。
PyInstaller · PyPI

このサイトにインストールすると下のような画面が表示されるので左下のDownload filesを選択します。

左下にダウンロードできるボタンがある
PyInstallerのトップ画面

Download filesを選択すると、右側にPyInstaller-3.5.tar.gzというファイルが表示されて選択できるようになるのでこれをクリックしてダウンロードします。

右側にgzファイルの選択肢が現れる
Download filesをクリックしたところ

ダウンロードできたらローカルの適当な所に保存しておきます。次にgzファイルを解凍*2する必要があります。この圧縮ファイルを解凍するにはLhaplus(ラプラス)という無料ソフトが必要なので、解凍できない方は下記手順に進んで下さい。解凍できる方は次の項目はスキップして、「exeファイルにする」に飛んで下さい

PyInstalerのgzファイルの解凍

PyInstalerのgzファイルが解凍できなかった方はLhaplus(ラプラス)をインストールします。下記のサイトからLhaplus(ラプラス)をダウンロードして下さい。無償(2020年1月8日現在)なので安心して下さい。
「Lhaplus」定番の圧縮・解凍ソフト - 窓の杜

ダウンロードしたファイルをダブルクリックするとインストーラが起動するので、指示に従って次へ⇒次へ⇒インストール⇒完了でインストールを完了します。インストールが完了すると下のような初期設定画面が表示されます。

この初期設定画面で関連付け(解凍)の項目の左下にあるgzのチェックボックスにチェックを入れてOKを押します。

Lhaplusの初期設定画面
Lhaplusの初期設定画面でgzにチェックを入れる

これでgzファイルをダブルクリックして解凍することができるようになりました。

PyInstallerのインストール

解凍してできたPyInstaller-3.5の中にPyInstallerというフォルダがあり、その中にsetup.pyというPythonスクリプトがあります。それを実行します。コマンドライン引数にinstallを設定します。下の図はCドライブ直下にpython_installというフォルダを作成し、そこに保存した場合の例です。

f:id:mutable_yun:20200108201302p:plain
PyInstallerをコマンドラインからインストールする

コマンドラインで下のように入力して、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ファイル化してみんなに使ってもらえるようにしてみましょう!

<関連記事>

*1:APIは他のプログラムの機能を借りる仕組みのこと

*2:gzファイルは圧縮ファイルの一種です。圧縮ファイルを解凍することは圧縮の逆で【伸張】とも言います。