実行可能な配布用ファイルの作り方を説明します。
特典として配布する場合など、自分で作ったツールを他の人にも使ってもらいたい状況になることもあります。
だだ、通常Pythonで作ったツールを動作させるためには、その環境にPythonがインストールされてないといけません。
しかし、使ってもらう人に、わざわざPythonやAnacondaなどをインストールしてもらうのは大変です。
そこで、今回はPythonがインストールされていない環境でも実行できる配布用ファイルの作り方について解説します。
PyInstaller のインストール
配布用ファイルを作成するためには、PyInstallerというライブラリを使用します。
このため、まずはじめにPyInstaller をインストールします。
「Anaconda Navigato」rを起動してください。
「CMD.exe Prompt」の「Lauch」をクリックします。
コマンドプロンプトの画面が表示されるので「conda install pyinstaller」と入力してエンターキーを押下する。
途中で確認メッセージが表示される場合は「y」を入力してください。
以下のようにコマンド入力状態に戻ったらインストール完了です。
ソースコードの準備
「Pyinstaller」で配布ファイルにするためのソースコードのファイルを用意しましょう。
これには「Anaconda Navigator」の「Spyder」を使用すると良いです。

「Spyder」を起動したらメニューの「New file」ボタンをクリックして、新規ファイルを作成します。
今回は、配布した状況がわかりやすいよう、次のようなテスト用のコードを用意しました。
ファイルの作成とウインドウの表示を行うプログラムです。
#ファイルオープン f = open("file.txt", "w") #書き込み f.write("hello, ") f.write("World") #ファイルクローズ f.close() import tkinter window = tkinter.Tk() window.geometry("200x200") window.title("ボタン") # ボタン作成 btn = tkinter.Button(window, text="ボタン") # ボタン表示 btn.place(x=50, y=100, width=100, height=40) # 画面表示 window.mainloop()
上記コードを「Spyder」の左にボックスに貼り付けます。
メニューの「Save File」ボタンをクリックします。
任意の場所にPythonのファイル(拡張子:py)を保存します。
どこでもいいのですが、後でコマンドで指定するため、わかりやすい場所がいいでしょう。
以下の例では「c:\」の直下に「pycode」というフォルダを作成して「test.py」というファイル名で保存しています。
「Pyinstaller」の実行
「Pyinstaller」で配布用ファイルを作成します。
「Pyinstaller」をインストールしたときと同様にAnacondaの「CMD.exe Prompt」を使用します。
起動したコマンドプロンプトで、次のようなコマンドを実行します。
pyinstaller <ファイルパス> --onefile
先に保存したファイルを例にすると以下のようになります。
pyinstaller c:\pycode\test.py --onefile
以下のように「completed successfully」と表示されれば成功です。
配布ファイルが作成された場所を確認しておいてください。
下記の例の場合「c:\Users\hidero\dist\test.exe」に作成されていることになります。
配布用ファイルの確認
実際に作成したファイルを確認してみましょう。
エクスプローラーで確認すると「c:\Users\hidero\dist」というフォルダに「test.exe」が作成されているのがわかります。
実際に動作を確認するため、この「test.exe」をダブルクリックして実行してみましょう。
すると、次のようなウインドウが表示されます。
※ボタンを押しても何もおこりません。そのまま閉じてください。
また、「test.exe」と同じフォルダに「file.txt」が作成されました。
「file.txt」の中身は次のようになっています。
以上で実行可能な配布用ファイルの完成です。
注意点
「Pyinstaller」は以下の環境の実行ファイルを作成することができます。
- Windows (32-bit and 64-bit),
- GNU/Linux (32-bit and 64-bit),
- Mac OS X (32-bit and 64-bit),
- contributed suppport for FreeBSD, Solaris, HPUX, and AIX.
ただし、作成した環境と同じ環境の実行ファイルしか作成できません。
このため、例えばWindows環境で作成した場合、Windows環境で実行できるexeファイルのみ作成できるようになります。