せっかく作ったゲームなので、普段Pythonを使わない友人や家族にも遊んでもらいたいですよね。
Pythonのcx_Freezeというライブラリを使えば、インストーラーを作成することができます。
cx_Freezeのインストール
まずは、pipを使いcx_Freezeをインストールします。
Windowsであれば、コマンドプロンプトで以下のように入力し、インストールできます。
setup.pyファイルを作成する
cx_Freezeのインストールが成功したら、exe化したいファイルと同じ階層にsetup.pyファイルを作成します。
ここでは、space_rabipple.pyと同じ階層に作成します。
import os
import sys
from cx_Freeze import setup, Executable
base = None
if sys.platform == "win32":
base = "Win32GUI"
buildOptions = dict(\
include_files = [\
os.path.join(os.getcwd(), "data"),\
os.path.join(os.getcwd(), "libs"),\
os.path.join(os.getcwd(), "resources")
],\
includes = [\
"pygame",\
"os",\
"sys",\
"random",\
"math"
])
exe = Executable(\
script = "space_rabipple.py",\
base = base,\
icon = "resources/image/icon.png",\
shortcutName = "Space Rabipple",\
shortcutDir = "DesktopFolder"
)
setup(\
name = "Space Rabipple",\
version = "1.0",\
description = "Jizo Games",\
options = dict(build_exe = buildOptions),\
executables = [exe]
)
プログラムだけでなく、画像やデータファイルも一緒にexe化したいので、include_filesの中に記述していきます。
includesは、プログラム作成時に使用したライブラリの一覧です。
これらも含めないと、プログラムが動かなくなってしまいます。
exeでは、インストール後にショートカットをデスクトップに作成する、という設定をしています。
setup.pyを実行する
setup.pyファイルを作成したら、さっそく実行してみましょう。
Windowsの場合はコマンドプロンプトから、setup.pyが保存されているディレクトリに移動し、以下のとおり実行します。
実行すると、buildというフォルダと、distというフォルダの二つが作成されます。
distフォルダの中にあるmsiファイルを実行すると、作成したゲームをインストールすることができます。