蛇使いな彼女BLOG
【第62回】 研究会応答編①ーPyInstallerの起動のしくみについて
2022.07.01

皆さんこんにちは。
今日はPythonプログラム(PyInstallerでアプリ化したもの)を使った感想について、直近の研究会で意見があがったのでその一部をピックアップして説明していこうと思います。
■PyInstallerで作成したアプリの起動が遅い
これについては特に意見が多いのですが、PyInstallerは専門の知識が無くても簡単にPythonスクリプトを
実行ファイルに変換出来る反面、一つのファイルにバンドル出来るという仕様から、どうしても起動に時間がかかるようです。
PyInstallerの公式情報によると、まずPyInstaller の特徴として、アプリ化したいPythonスクリプトとその実行環境などの依存関係、および実行ファイル(.exe)を全て一つのファルダーにまとめることが可能です。
このフォルダーを圧縮して第三者に配布すると、受け取った側は圧縮解凍するだけでプログラムのインストールが出来ます。
……とあるんですが、実際は解凍時にインストールされているわけではなく、実行ファイルをダブルクリックした際に一時的なPython環境を作ってフォルダー内のライブラリーとモジュールを読み込んでプログラムの実行を行うようです💡
一般的なインストーラーとの違いを以下にまとめてみました。

一般的なインストーラーの手間を省いたものがAppStoreで、インストーラーもAppStoreもローカルコンピューターにソフトウェアを導入する点は同じですね。
それに対してPyInstallerはコンピューターへの導入は行わず、1フォルダーに隔離された状態でソフトフェアを立ち上げるようなイメージです。(説明あってるかな・・・💦?)
かつPyInstallerのソフトフェアは一度起動しても、閉じる度にその環境設定ごと消去されるので毎回起動に時間がかかるという構造です。
ただ、よく分からないソフトを何でもかんでもインストールしたくないという人には向いているかもしれませんね💡
その他、パソコンのOS、スペック、容量などでそもそも起動できない・または起動にかかる時間が変わる場合もあるかもしれないので、そこんところは今後調査しないといけないかな?と感じています。
