PyInstallerでexeファイルを作成

投稿者: | 2023-02-04

公式

参考HP

目次

仮想環境をつくる

  • Windowsの場合、コマンドプロント画面で実施
  • 仮想環境をつくってからでないと、exe ファイルが肥大化してしまう
# 任意フォルダ作成
>mkdir Work

# フォルダへ移動
>cd Work

# そこで仮想環境をつくる
>python -m venv .myvenv 
仮想環境が作成される
中身はこんな感じ
# Scriptsフォルダまで移動し
> cd Work/.myvenv/Scripts

# そこでアクティベートすると
> activate

# Macの場合は、.myenv > bin に降りて
# > source activate で可

# 仮想環境「.myvenv」に切り替わる
(.myvenv) > 

ライブラリのインストール

  • 今回、exe 化したいスクリプトにおいて、新たにインストールが必要なライブラリは3つ。それらをインストールしておく
  • 以降も、すべてコマンドプロンプトの画面で実施
# 例:pandas, PySimpleGUI, chardet をインストール(途中 pip のアップグレードが要求されたため併せて実施)
> python -m pip install pandas
> python -m pip install --upgrade
> python -m pip install PySimpleGUI
> python -m pip install chardet
  • ライブラリのインストール直後のサイズとScriptsの中身は次のとおり
  • Work のサイズが exe 化した後のサイズになるわけではない
Work の容量
Scirpts の中身

PyInstaller をインストール

PyInstaller Manual — PyInstaller 5.7.0 documentation

python -m pip install pyinstaller

exe ファイルに変換

  • 今回 get_csv_info.py を exe ファイルに変換する
  • 使うオプション
    • –onefile
      • 出力ファイルをひとつにまとめる
    • –noconsole
      • コンソールを表示しない
      • これをつけないと exe を実行するとコンソールが表示される
  • pyinstaller を実行すると、以下のフォルダが作成されるため、実行時に展開先を指定しておくとよい(その展開先フォルダに移動してから実行
    • 仮想環境のカレントフォルダで実行すると、その中に展開されてしまう
展開されるフォルダ類
> pyinstaller get_csv_info.py --onefile --noconsole
  • 結果、フォルダ「dist」の中に exe ファイルが作成される
  • この場合、サイズが 34MB。そこまで大きくない
  • この exe ファイルは1ファイルなので、コピーしてそのまま渡すこともできる(Windows環境のみで利用可)
  • exe ファイルをWクリックすると、4~5秒ほどで起動する
  • 1ファイルにせずに、フォルダ構成のオプションを使えばもっと速く起動するが、劇的に速くなるわけではないためここでは割愛する
  • exe 化した後の仮想環境は削除すればよい
exeファイルを実行すると起動