Python環境のないWindowsでPythonを実行する方法

IT

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

コメント

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