Pythonを使ってEXEファイルを作成する方法をまとめました。
使うならPyInstallerを使った方が良いです。
しかしWindowsだけやMacだけといった場合は、Py2exeやPy2appといったライブラリもあります。
Py2appは私の環境の問題なのかうまく動作しなかったので、オススメはしません。
この記事では、PyInstallerやPy2exeとPy2appについて解説しています。
PyInstallerとは
PyInstallerは、Pythonアプリとそれに依存するライブラリなどをまとめて実行ファイルにすることができます。
WindowsだとEXEファイルに変換し、Macだとappファイルや実行ファイルにすることも可能です。
ただし、MacでEXEファイルにすることやWindowsでappファイルを作ることはPyInstallerでは行うことはできません。
PyInstallerのインストールの仕方や使い方については下記の記事でまとめています。
-
PyInstallerを使ったEXEファイルや実行ファイル化を解説
Pythonで実行ファイルを作成してみました。 作成するにはPyInstallerを使ってみましたが、MacではWindowsのEXEファイルを作成することが出来ないということが分かりました。 MacからEXEファイルを作りたい場合は、Go ...続きを見る
Py2exeとは
Py2exeとは、Windowsの実行形式であるEXEファイルを作ることができます。
Pythonがインストールされていない環境でも、この実行ファイル作成することでPythonアプリを動かすことができます。
しかし、MacやLinux用の実行ファイルを作成することができないので、MacやLinuxでは他のライブラリを利用するしかありません。
そもそもMacやLinuxにインストール時を行なっても、Windowsのライブラリ不足によりエラーでインストールできないです。
Py2exeのインストールや使い方については、下記の記事でまとめています。
-
py2exeの使い方を解説
PythonでEXEファイルを作成してみようと考えて、py2exeを利用してみました。 私はMacがメインなので、インストールしてみましたが動きません。 py2exeはMacでは動かないので、Mac使いの人はpy2appやPyInstall ...続きを見る
MacではPy2app
Py2appはMac用というわけではなく、PyInstallerのようにWindowsでもMacでも作成することが可能らしいです。
クロスプラットフォーム対応なので、MacからWindowsのEXEファイルやMacのappファイルを作成できるのかと思っていますが検証できていないため、分かりません。
検証できていない理由としては、作成しようとするとエラーが表示される。
このエラーを追うと、Py2appのライブラリでPyQt関連のエラーが原因。
このエラーは、PyQtのバージョンが5から6になった際に、非推奨の関数を利用しているためにエラーが発生している。
しかしその部分を直してみましたが、他にもたくさんエラーが出てきたので諦めました。
Py2appのインストールや書き方とエラーについては、下記の記事でまとめています。
-
py2appは今のところ使わない方が良い?
試しにインストールしてみましたが、Macで動きませんでした。 原因を追えば追うほど、エラーが増えていき時間の無駄です。 この記事ではpy2appのインストールから動かない原因までを解説しています。 py2appのモジュールを導入することを検 ...続きを見る
3つのライブラリの中から使うなら
正直にいうと、Pythonで実行ファイルを作成することはオススメできません。
実行ファイルを作成する際に必要以上に実行ファイルが肥大化したり、コンパイルしているはずなのに遅くなったりします。
どうしても配布したい場合は、PyInstallerが今のところいいでしょう。
Py2exeはWindowsのみ、Py2appは動かないのでPyInstaller一択になるのでは無いかと思います。
配布する前に見直した方が良い
実際にEXEファイルや実行ファイルを配布を考えている方は、今のPythonアプリケーションを見直した方が良いです。
API化をすることで、フロントのUIをWebやスマホといったアプリケーションに出来ないかなどです。
そうすることで配布に対するコストが減るでしょう。
実際にGoogleでは、Google AdSenseのスマホアプリがありました。
理由はメンテナンスや機能拡充の向上させるために、スマホアプリを廃止した経緯があります。
まとめ
PyInstallerやPy2exe、Py2appについてEXE化や実行ファイルにするライブラリについて紹介しました。
Py2exeではWindowsでしか動作しませんが、Py2appとPyInstallerはMacでもWindowsでも動作します。
しかし、私の環境ではPy2appについては動作しなかったので、使えるライブラリとは言えません。
ただしPy2app自体開発は止まっていないので、今後に期待しています。
今後の人生を豊かにする為にキャリアアップのステップとして、自分への投資をしてみませんか?