py2exeのインストール【Pythonプログラムのexe化】

py2exeのインストール【Pythonプログラムのexe化】 プログラミング

Pythonで作成したアプリを配布する場合、exeとして配布したいですよね。
exe化さえすれば、窓の杜やVecorでも公開できるようになります。

そんなことまで可能にするのが、py2exeです。

本記事の内容

  • py2exeとは?
  • py2exeのシステム要件
  • py2exeのインストール
  • py2exeの動作確認

それでは、上記に沿って解説してきましょう。

py2exeとは?

py2exeは、PythonスクリプトからスタンドアロンのWindows実行プログラムをビルドするためのdistutils拡張機能です。
簡単に言うと、py2exeでPythonプログラムをexe化できるということです。

また、py2exeの歴史は長いです。
すでに2003年時点では、Version0.3.4が公開されています。

そして、2021年になった現在でも常時更新されています。
最新バージョンは、2021年1月22日に公開された0.10.2.1になります。

バージョンで、0.10.●というのはあまり見ない形式ですね。
バージョンを1.0にはしたくないのでしょうか?
まあ、とにかく滅多に見ないナンバリングです。

では、次にこのpy2exeのシステム要件を確認します。

py2exeのシステム要件

現時点では、py2exeの最新バージョンが0.10.2.1となります。

サポートOSに関しては、Windowsのみとなっています。
PythonでWindowsのみサポートというのは、なかなか珍しいです。

そもそも、exeはWindowsでしか動きません。
そのexeを作る環境もWindowsだけで構わないという発想なのかもしれません。

この発想は、これはこれで潔いと思います。
その点から、py2exeはPythonにおけるexe化のスペシャリストと言えそうです。

サポートOS以外での注意点は、Pythonのバージョンです。
最新バージョンがサポートしているバージョンは、以下。

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • Python 3.9

上記は、公式開発サイクルに含まれるPythonのバージョンということです。
公式開発サイクルは、以下の表を見ればわかります。

バージョンリリース日サポート期限
3.02008年12月3日2009年1月13日
3.12009年6月27日2012年4月9日
3.22011年2月20日2016年2月20日
3.32012年9月29日2017年9月29日
3.42014年3月16日2019年3月18日
3.52015年9月13日2020年9月30日
3.62016年12月23日2021年12月
3.72018年6月27日2023年6月
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月

なお、今回は以下のPythonで検証します。

>python -V
Python 3.8.6

Python 3.8だと公式開発サイクルに入っています。

以上、py2exeのシステム要件でした。
次は、py2exeをインストールしていきます。

py2exeのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 54.1.0

次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip

では、py2exeのインストールです。
py2exeのインストールは、以下のコマンドとなります。

pip install py2exe

インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package    Version
---------- ---------
cachetools 4.2.1
future     0.18.2
pefile     2019.4.18
pip        21.0.1
py2exe     0.10.2.1
setuptools 54.1.0

py2exeは、最新バージョンがインストールされています。
あとは、依存関係のあるパッケージが3個インストールされていますね。

以上、py2exeのインストールが完了しました。
次は、py2exeで実行ファイルを作成していきます。

py2exeの動作確認

実際にexeファイルを作成していきます。

まずは、exe化するアプリを開発しましょう。
大げさですが、Pythonでコードを用意するだけです。

この際、単純に「Hello py2exe !!」と表記するだけのアプリは止めておきましょう。
その理由は、起動しても一瞬で閉じてしまうからです。
だから、確認しようにも確認できません。

そのため、GUIアプリを用意します。
PythonでGUIアプリを作成するためには、Tkinterを利用します。
次の記事では、TkinterでGUIアプリを作成する方法を解説しています。

上記記事より、Pythonのコードをコピー。

exe_test.py

import tkinter
# 画面作成
window = tkinter.Tk()
window.geometry("400x300")
window.title("ボタンを表示する")
# ボタン作成
btn = tkinter.Button(window, text="ボタン")
# ボタン表示
btn.place(x=125, y=230, width=150, height=40)
# 画面表示(常駐)
window.mainloop()

上記コードのスクリプトファイルをC:\python\appに「exe_test.py」として保存します。
(※「C:\python\app」は各自で都合の良い場所にして問題ありません)

次に、以下のプログラムをsetup.pyとして保存します。

setup.py

from distutils.core import setup
import py2exe

setup(console=['exe_test.py'])

setup.pyはexe_test.pyと同じくC:\python\appに保存します。
この時点では、C:\python\appには2つのファイルがあることになります。

ここまで用意できたら、コマンドプロンプトやPowerShellを開きます。
そして、C:\python\appにまで移動します。

移動したら、次のコマンドを実行します。

python setup.py py2exe

上記コマンドを実行すると、ズラズラと表示が流れます。
それが完了したら、C:\python\appを確認します。

そうすると、上記のようにdistフォルダが作成されています。
distフォルダの中は、以下のような状況です。

この中に、「exe_test.exe」があることを確認できます。
GUIアプリのPythonスクリプトファイル名と同じです。

では、この「exe_test.exe」を実行してみましょう。
そうすると、以下の画面が表示されます。

GUIアプリの「×」、コマンドプロンプトの「×」のどちらかを押せば両方とも閉じます。
これらは、ペアということです。
もし、GUIアプリでないと一瞬だけコマンドプロンプトが見えるだけになります。

あとは、distフォルダを圧縮してdist.zipを作ります。
そして、これを配布するということになるでしょう。

念のため、Pythonのインストールされていない別PCでも動作を確認しました。
その結果は、問題ありませんでした。

以上、py2exeの動作確認が完了です。
これで開発したPythonアプリをフリーソフトとして公開できる第一歩を踏み出せたのではないでしょうか?

タイトルとURLをコピーしました