Pythonって便利ですよね。
Excelの作業を自動化するツールを作って便利に使いこなしている方もいると思います。
しかし、そんな便利なツールを作っても、他の人にそのツールをお勧めしたくても、普通はPythonの環境が整っていないため、気軽にお勧めできません。
「こんな便利なツールを作ったからみんな使ってよ!」といっても、Pythonなにそれ?おいしいの?で終わってしまいます。
そこで、そんなPythonの環境のないWindowsでもPythonを実行する方法について説明します。
前提
前提として、WindowsでPythonが実行できる環境があることを想定しています。
pyinstallerのインストール
Python環境のないWindowsでPythonを実行(exe化)するためには、pyinstallerを使用します。
以下で、pyinstallerをインストールしてください。
pip install pyinstaller
Pythonの環境によっては以下の方法でインストールできます。
py -m pip install pyinstaller
exe化の方法
pyinstallerのインストールが終わったら、pyinstallerを使用して、exe化したいPythonファイルを指定します。
pyinstaller <pythonファイル名> [--onefile] [--noconsole] [--clean]
–onefile:関連するファイルを1つにまとめてexeファイルを作成します。
–noconsole:コンソール(コマンドプロンプト、cmd)の黒い画面を表示しません。
–clean:以前実行したときに残った一時ファイルなどを削除します。
作成したPythonのツールが、コンソールにprint文で結果を表示するような場合、–noconsoleを指定すると見えなくなりますので、その場合は–noconsoleはつけないでください。
pyinstallerを実行後、いくつかのフォルダやファイルができています。
distフォルダの中に、Pythonのファイル名に拡張子がexeのファイルがあります。
これがexe化されたPythonファイルです。
例えば、hello.pyというファイル名をexe化した場合は、hello.exeというファイル名が出来上がります。
後は、作成されたexeファイルを配布すれば、Python環境のないWindowsでも実行可能です。
exeファイルサイズの抑制方法
pyinstallerで作成したexeファイルの容量が結構なサイズになることがあります。
これは、pyinstallerが、pipでインストールしているモジュールをすべて組み込んでしまうからです。
そのため、必要最低限のモジュールを組み込んだ環境でpyinstallerを実行するのをお勧めします。
もしくは、以下のようにすれば、不要なモジュールを組み込まずにexe化することが可能です。
pyinstaller <pythonファイル名> [--onefile] [--noconsole] [--exclude <モジュール名>]
例えば、pandasを除外したい場合は以下のようになります。
pyinstaller hello.py --onefile --noconsole --exclude pandas
除外したいモジュールが複数ある場合は、–excludeのオプションを複数記載すればよいです。
アイコンの指定
exe化したツールのアイコンはデフォルトでPythonのアイコンとなります。
自分で作成したアイコンにしたい場合は以下のようにしてexe化します。
pyinstaller <pythonファイル名> [--onefile] [--noconsole] [--icon=<アイコンファイル名>]
例えば、アイコンのファイル名がfoo.icoだったら以下のような感じとなります。
pyinstaller hello.py --onefile --noconsole --icon=foo.ico
コメント