【Python】pyinstallerのインストール・使い方・よく使うオプション

インストール

PowerShell・ターミナルに下記を入力する。

pip install pyinstaller

基本的な使い方

1.シンプルな使用方法

PowerShell・ターミナルに下記を入力する。

pyinstaller ファイル名.py

or

pyinstaller "C:User\user\sample\ファイル名.py"

これにより、dist/sample/フォルダに実行可能ファイルが作成される。

2.単一ファイルとして出力

PowerShell・ターミナルに下記を入力する。

pyinstaller --onefile ファイル名.py

or

pyinstaller --onefile "C:User\user\sample\ファイル名.py"

すべてを1つの実行可能ファイルにまとめる。

3.ウィンドウを表示しない(バックグラウンド実行)

PowerShell・ターミナルに下記を入力する。

pyinstaller --noconsole ファイル名.py

or

pyinstaller --noconsole "C:User\user\sample\ファイル名.py"

GUIアプリケーションでコンソールウィンドウを非表示にしたい場合に使用します。

4.応用

PowerShell・ターミナルに下記を入力する。

pyinstaller --onefile --noconsole ファイル名.py

or

pyinstaller --onefile --noconsole "C:User\user\sample\ファイル名.py"

GUIアプリケーションでコンソールウィンドウを非表示にしたい場合に使用します。

よく使用するオプション

  • --onefile または -F:単一の実行可能ファイルを作成
  • --windowed または -w: コンソールウィンドウを非表示(GUIアプリ用)
  • --noconsole: コンソールを表示しない
  • --icon=icon.ico: アイコンファイルを指定
  • --name=app_name: 出力ファイル名を指定
  • --distpath=DIR: 出力先ディレクトリを指定
  • --workpath=DIR: 作業用ディレクトリを指定

使用例

# GUIアプリを単一ファイルで、アイコン付きで作成
pyinstaller --onefile --windowed --icon=myicon.ico --name=MyApp my_gui_app.py

# 特定のディレクトリに出力
pyinstaller --onefile --distpath=./release my_script.py

トラブルシューティング

よくある問題と解決策

  1. モジュールが見つからないエラー

PowerShell・ターミナルに下記を入力する。

pyinstaller --hidden-import=missing_module your_script.py
  1. ファイルサイズが大きすぎる場合

PowerShell・ターミナルに下記を入力する。

pyinstaller --exclude-module=unused_module your_script.py
  1. 実行時にファイルが見つからない

python

# スクリプト内でリソースファイルのパスを動的に取得
import sys
import os

def resource_path(relative_path):
    try:
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")
    return os.path.join(base_path, relative_path)

# 使用例
data_file = resource_path("data.txt")

実践的な例

# 完全なGUIアプリケーションの例
pyinstaller \
    --onefile \
    --windowed \
    --icon=app_icon.ico \
    --name=MyApplication \
    --add-data "resources/*;resources" \
    --hidden-import=requests \
    main.py

まとめ

PyInstallerは非常に便利なツールだが、作成された実行ファイルは元のPythonスクリプトよりもサイズが大きくなることに注意すること。

また、一部の複雑な依存関係では手動での調整が必要な場合もある。

コメント

タイトルとURLをコピーしました