This commit is contained in:
2026-04-12 16:20:02 +02:00
parent a9915c0cc9
commit 2812e3182c
2 changed files with 85 additions and 34 deletions

View File

@@ -1,22 +1,24 @@
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_all, collect_submodules
from PyInstaller.utils.hooks import collect_data_files, collect_dynamic_libs
block_cipher = None
# Saml ALT fra PyQt6 inkl. plugins og DLL-filer
pyqt6_datas, pyqt6_binaries, pyqt6_hiddenimports = collect_all('PyQt6')
a = Analysis(
['main.py'],
pathex=['.'],
binaries=pyqt6_binaries,
datas=pyqt6_datas,
hiddenimports=pyqt6_hiddenimports + [
binaries=[],
datas=[
('translations', 'translations'),
('ui', 'ui'),
('local', 'local'),
('player', 'player'),
],
hiddenimports=[
'PyQt6.sip',
'PyQt6.QtCore',
'PyQt6.QtGui',
'PyQt6.QtWidgets',
# UI moduler
'PyQt6.QtNetwork',
'ui.main_window',
'ui.playlist_panel',
'ui.library_panel',
@@ -24,30 +26,81 @@ a = Analysis(
'ui.themes',
'ui.vu_meter',
'ui.scan_worker',
'ui.bpm_worker',
'ui.tag_editor',
'ui.login_dialog',
'ui.settings_dialog',
'ui.playlist_manager',
'ui.register_dialog',
'ui.playlist_browser',
'ui.playlist_info_dialog',
'ui.dance_info_dialog',
'ui.dance_picker_dialog',
'ui.next_up_bar',
# Player + local
'player.player',
'local.local_db',
'local.tag_reader',
'local.file_watcher',
# Biblioteker
'mutagen', 'mutagen.mp3', 'mutagen.id3', 'mutagen.flac',
'local.scanner',
'translations',
'translations.da',
'translations.en',
'mutagen',
'mutagen.mp3', 'mutagen.id3', 'mutagen.flac',
'mutagen.mp4', 'mutagen.oggvorbis', 'mutagen.ogg',
'mutagen.wave', 'mutagen.aiff', 'mutagen.asf',
'watchdog', 'watchdog.observers', 'watchdog.events',
'watchdog.observers.winapi',
'vlc', 'sqlite3',
'watchdog',
'watchdog.observers',
'watchdog.observers.polling',
'watchdog.events',
'vlc',
'sqlite3',
],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=['tkinter', 'matplotlib', 'pandas', 'scipy', 'IPython'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
excludes=[
# Ubrugte store pakker
'tkinter', 'tk', 'tcl',
'matplotlib', 'pandas', 'scipy', 'numpy',
'IPython', 'jupyter', 'notebook',
'PIL', 'Pillow',
'cv2', 'sklearn',
'PyQt6.QtWebEngineWidgets',
'PyQt6.QtWebEngineCore',
'PyQt6.QtWebEngine',
'PyQt6.QtMultimedia',
'PyQt6.QtMultimediaWidgets',
'PyQt6.QtBluetooth',
'PyQt6.QtNfc',
'PyQt6.QtPositioning',
'PyQt6.QtLocation',
'PyQt6.QtSensors',
'PyQt6.QtSerialPort',
'PyQt6.QtSql',
'PyQt6.QtTest',
'PyQt6.QtXml',
'PyQt6.QtOpenGL',
'PyQt6.QtOpenGLWidgets',
'PyQt6.Qt3DCore',
'PyQt6.Qt3DRender',
'PyQt6.Qt3DInput',
'PyQt6.Qt3DLogic',
'PyQt6.Qt3DAnimation',
'PyQt6.Qt3DExtras',
'PyQt6.QtCharts',
'PyQt6.QtDataVisualization',
'PyQt6.QtQuick',
'PyQt6.QtQuickWidgets',
'PyQt6.QtQml',
'PyQt6.QtRemoteObjects',
'PyQt6.QtScxml',
'PyQt6.QtStateMachine',
'email', 'html', 'http', 'urllib',
'xml', 'xmlrpc',
'unittest', 'doctest', 'pdb',
'difflib', 'inspect',
'pydoc', 'py_compile', 'compileall',
'distutils', 'setuptools', 'pkg_resources',
],
cipher=block_cipher,
noarchive=False,
)
@@ -57,28 +110,26 @@ pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
exclude_binaries=True,
name='LineDancePlayer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=False, # UPX kan give problemer med PyQt6 DLL-filer
console=False, # Ingen konsol-vindue
upx=True, # UPX komprimering — reducer størrelse ~30%
upx_exclude=[
'vcruntime140.dll',
'msvcp140.dll',
'python3*.dll',
'Qt6*.dll',
],
console=False,
disable_windowed_traceback=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=None,
)
coll = COLLECT(
exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=False,
upx_exclude=[],
name='LineDancePlayer',
onefile=True,
)

BIN
linedance-app/upx.exe Normal file

Binary file not shown.