【Python】py2exeはバージョン3.4までしか動かない!「pyinstaller」をインストールしよう

Pythonのプログラムを「exe化」してWindowsでもPythonをインストールしなくても、プログラムで作成したアプリなどを使用できるようにしたいと思っている方はいるはずです。

通常だとWindowsでは、拡張子「.py」は動かせないので、exe化は必須です。
これを実現させるには、Pythonで、「.py」の拡張子を「.exe」変換するモジュールをインストールすることが必要になります。

Pythonで「py2exe」をインストールしてもうまく動かない

ということで、実際にPythonへ「py2exe」をインストールして、実際にexe化を実行してみたのですが、exe化の途中でエラーが発生し、正常にexeファイルを作成してくれません。

Pythonのバージョンは3.8を利用しているのですが、これがうまくいかないんです。
色々をネットを検索していると、実は「py2exe」はpythonのバージョン3.4までしかサポートしていないようなのです。。。

py2exeはpython3.4までしか動かない

ということで、今度はPython3.4をインストールし、再度「py2exe」をインストールしなおしました。

pythonのバージョン3.4のバージョンは以下となります。

C:Python>py -3.4 -V
Python 3.4.4

複数のPythonをインストトールしているかたは以下のコマンドで、どのバージョンをインストールしているのか、リストで確認することが可能です。
※はデフォルトで利用できるPythonのバージョンとなります。

C:Python>py --list-paths
Installed Pythons found by py Launcher for Windows
 -3.8-32        C:Users\0003563AppDataLocalProgramsPythonPython38-32python.exe *
 -3.7-64        python.exe
 -3.6-32        C:Users\0003563AppDataLocalProgramsPythonPython36-32python.exe
 -3.4-64        C:Python34python.exe

Python3.4で動かすために以下のコマンドでインストールを実行します。

C:Python>py -3.4 -m  pip install py2exe
Collecting py2exe
  Downloading https://files.pythonhosted.org/packages/6a/16/19bd8b59db4a61ff003aee258efd86a0aca050718435b1f54592ac870235/py2exe-0.9.2.2-py33.py34-none-any.whl (270kB)
    100% |################################| 274kB 517kB/s
Installing collected packages: py2exe
Successfully installed py2exe-0.9.2.2
You are using pip version 7.1.2, however version 19.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

C:Python>

実際に、Pythonでバージョン3.4で実行するために以下のコマンドを実施しますが、これがうまくいかないんです。

C:Python>py -3.4 -m setup.py py2exe

「py2exe」は仮想環境(anaconda)でもうまく動かない

結果的にいうとこれもダメです。
anacondaでは、3.4がインストールできないことと、それ以下でも2.7でないとインストールがサポートされていないんです。
py2exeは3.3、もしくは3.4でサポートされているとネットで書かれていました。

「py2exe」は諦めて「pyinstaller」を利用しよう

結局、今の最新バージョンではpy2exeはうまく動かないので、別のツールとして「pyinstaller」を利用することにしました。
pyinstallerはバージョン3.6までしかサポートされていませんが、これで一応動くので利用しています。

pyinstallerのインストールからexe化までは以下のページで紹介していますので、参考にしてください。

ちなみに、pyinstallerでは、exe化をした後は、サイズが大きくなっており、実際にexeファイルを実行しようとすると結構重いです。

今後の課題としては軽量化をすることを考えないといけませんね。

また、Windows10では、うまく動かないので、anacondaなどを利用して仮想環境から実行することをオススメします。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!