44 lines
990 B
Plaintext
44 lines
990 B
Plaintext
pip install pyinstaller upx
|
|
|
|
pyinstaller -F -w -i app_icon.ico run.py
|
|
|
|
pyinstaller -F -w -i app_icon.ico --upx-dir PATH_TO_UPX run.py
|
|
|
|
pyinstaller run.spec
|
|
|
|
``` run.spec
|
|
|
|
a = Analysis(
|
|
['run.py'],
|
|
pathex=[],
|
|
binaries=[],
|
|
datas=[('app_icon.ico', '.')], # Include the icon
|
|
hiddenimports=[],
|
|
hookspath=[],
|
|
hooksconfig={},
|
|
runtime_hooks=[],
|
|
excludes=['PyQt6.QtBluetooth', 'PyQt6.QtMultimedia', 'PyQt6.QtNfc', 'PyQt6.QtSensors'], # Exclude unused Qt modules
|
|
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='MSG-Viewer',
|
|
debug=False,
|
|
bootloader_ignore_signals=False,
|
|
strip=False,
|
|
upx=True, # Use UPX if available
|
|
upx_exclude=[],
|
|
runtime_tmpdir=None,
|
|
console=False, # No console
|
|
icon='app_icon.ico',
|
|
)
|
|
``` |