#はじめに
.specの使い方
# -*- mode: python ; coding: utf-8 -*-
block_cipher = None
a = Analysis(['your_script.py'],
pathex=['/path/to/your/script'],
binaries=[],
datas=[('./image/favicon.ico', 'image')], # favicon.icoを含める場合
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='output_name',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False, # ウィンドウモード
icon='./image/favicon.ico', # アイコンのパス
)
使い方
pyinstaller your_spec_file.spec
カスタマイズの場合
- 'your_script.py':コンパイルするPythonスクリプトの名前。
- '/path/to/your/script':Pythonスクリプトのパス。
- 'output_name':出力されるEXEファイルの名前。
- console=False:ウィンドウモードを選択する場合。
- icon='./image/favicon.ico':EXEファイルに付けるアイコンのパス。
詳細説明
この行は、スクリプトの暗号化に使用されるブロック暗号を定義します。
通常、暗号化は使用されないため、Noneと設定されます。
block_cipher = None
a = Analysis(...): このセクションは、スクリプトの依存関係の解析を行うための設定です。
a = Analysis(['your_script.py'],
pathex=['/path/to/your/script'],
binaries=[],
datas=[('./image/favicon.ico', 'image')], # favicon.icoを含める場合
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pathex: スクリプトのパス。
binaries: 追加のバイナリファイルのリスト。
datas: 追加のデータファイル(例:画像など)。
win_no_prefer_redirects, win_private_assemblies, cipher, noarchive: これらはWindows固有の設定で、通常はデフォルト値を使用します。
pyz = PYZ(...): このセクションは、スクリプトとその依存関係をアーカイブにパックする設定です。cipherは前述のblock_cipherと関連しています。
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(...): このセクションは、最終的な実行ファイル(EXE)の作成に関連する設定です。
name: 出力されるEXEファイルの名前。
debug: デバッグモードの有効/無効。
strip: シンボルの削除(ファイルサイズの削減)。
upx: UPX圧縮の有効/無効。
console: コンソールモード(True)またはウィンドウモード(False)。
icon: アイコンのパス。
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='output_name',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False, # ウィンドウモード
icon='./image/favicon.ico', # アイコンのパス
)
参考資料:
1.エラーが出たらまずこの記事を参照しましょう。
- scikit-learn
3.よくわからんエラーの場合
- OpenCV対応(神対策)
- Pypylon
- scikit-learn (pyinstallerとscikit-learnは相性があまり良くない印象)
- PyinstallerとOne Driveの相性はよくない。