Pythonで作ったプログラム(*.pyファイル)は、Pythonの実行環境と、使用したモジュールがインストールされた環境でないと実行できないため、他のPCでプログラムを実行するのが面倒だったりもします。
PyInstallerというのを使うと、Pythonプログラムをexeにして実行することが可能になります。
私自身は、普段からVisual Studio2019を使って開発しているので、Visual StudioからPyInstallerを使う方法を紹介します。(おそらくVisual Studio2017以降であれば同様の操作で出来ると思います。)
Python環境の作成
Visual StudioのソリューションエクスプローラーでPython環境を右クリックし、環境を追加をクリックします。
表示された画面の仮想環境を選択し、名前の部分に適当な名前を付け(今回はexeにしました)、ベースインタープリターの部分で、もともと使っていたPythonの環境(バージョン)を選択し、右下の作成をクリックします。
すると、今回作成した環境(exe)が追加されます。
ただし、パッケージ(PyPI)の部分を見ると、必要なモジュールが何もインストールされていない状態になります。
今回の例では、exe化しようとしているPythonファイル(*.py)は、pillowとnumpyを使用するため、別途、作成したPython環境(exe)に必要なモジュールをインストールする必要があります。
モジュールのインストールはPyPIとインストールされたパッケージの検索の部分に必要なモジュール名を入力すると、次のコマンドを実行する:pip install Pillow が表示されるので、この部分をクリックして、モジュールをインストールします。
各自、必要なモジュールは異なりますので、この状態で、Pythonのプログラムが実行できるか?確認しておいてください。
PyInstallerのインストール
exe化するためのPyInstallerも他のモジュールと同様にインストールします。
PyPIとインストールされたパッケージの検索の部分にpyinstallerと入力し、次のコマンドを実行する:pip install pyinstaller が表示されるので、この部分をクリックして、PyInstallerをインストールします。
私の場合、最終的に、このよう↓になります。
exe化の実行
PyInstallerを使ってexe化するには、コマンドプロンプトでコマンドを入力する必要があるので、コマンドプロンプトを表示します。
プロジェクトの名前の部分を右クリックし、表示されたメニューのここでコマンドプロントを開くをクリックします。
すると、プロジェクトのフォルダがコマンドプロンプト上に表示されます。
ここに、以下のコマンドを入力します。
pyinstaller [pyファイル名]
私の場合は以下のようにしました。
このコマンドを実行すると dist というフォルダが作成されます。
distフォルダの中にさらにプロジェクト名のフォルダが作成され、さらに、この中に目的とするexeファイルが作成されています。
他のPCでexeファイルを実行するには、exeファイルと同一階層にあるファイルすべてが必要になります。
ファイルがいくつも出来てしまうのは、少々扱いが面倒なので、必要なファイルも含めてexeファイル一つにすることもonefileオプションを設定することで可能です。
pyinstaller [pyファイル名] --onefile
また、プログラム起動時に表示されるコマンドプロンプトのウィンドウ↓
を表示させたくない場合は、windowedオプションを指定します。
pyinstaller [pyファイル名] --onefile --windowed
私の場合の例↓
onefileオプションを使うと distフォルダ内にexeファイルが一つだけ作成されるので、このexeファイルを別のPCに持っていくだけで、Pythonや各種モジュールをインストールすることなく、実行することができます。
ただし、使用するモジュールからさらにdllを参照している場合などは、dllのインストールが必要になるかも?しれません。
コメント