Fix taskbar icon.
This commit is contained in:
+48
-17
@@ -1,23 +1,45 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
# 🔥 Base path fiable (indépendant du dossier de lancement)
|
||||
BASE_DIR = Path(os.getcwd()).resolve()
|
||||
|
||||
if not (BASE_DIR / "src").exists():
|
||||
raise Exception("Lance PyInstaller depuis la racine du projet")
|
||||
|
||||
print("BASE_DIR =", BASE_DIR)
|
||||
|
||||
# ------------------------------------------------------------------
|
||||
# Analysis
|
||||
# ------------------------------------------------------------------
|
||||
a = Analysis(
|
||||
['src\\main.py'],
|
||||
[str(BASE_DIR / 'src' / 'main.py')],
|
||||
pathex=['src'],
|
||||
binaries=[],
|
||||
datas=[
|
||||
('.\\styles\\styles.qss', 'styles'),
|
||||
('.\\ui\\mainwindow_vertical_pager.ui', 'ui')
|
||||
# Assets critiques
|
||||
(str(BASE_DIR / 'assets' / 'Icon.ico'), 'assets'),
|
||||
|
||||
# Styles
|
||||
(str(BASE_DIR / 'styles' / 'styles.qss'), 'styles'),
|
||||
|
||||
# UI (tu peux ajouter d'autres .ui ici)
|
||||
(str(BASE_DIR / 'ui' / 'mainwindow_vertical_pager.ui'), 'ui'),
|
||||
],
|
||||
hiddenimports=[
|
||||
"asyncio",
|
||||
"pypresence",
|
||||
"pypresence.baseclient",
|
||||
"pypresence"
|
||||
],
|
||||
hookspath=[],
|
||||
hooksconfig={
|
||||
"qt_plugins": ["platforms", "styles"]
|
||||
# 🔥 STRICT MINIMUM
|
||||
"qt_plugins": ["platforms"]
|
||||
},
|
||||
runtime_hooks=[],
|
||||
|
||||
# 🔥 Exclusions
|
||||
excludes=[
|
||||
# PySide6 - modules non utilisés
|
||||
'PySide6.Qt3DAnimation',
|
||||
@@ -173,8 +195,9 @@ a = Analysis(
|
||||
optimize=2,
|
||||
)
|
||||
|
||||
# --- Filtre des DLLs Qt inutiles ---
|
||||
# Ces DLLs sont incluses par analyse binaire malgré les excludes Python
|
||||
# ------------------------------------------------------------------
|
||||
# 🔥 Nettoyage DLL Qt (SAFE)
|
||||
# ------------------------------------------------------------------
|
||||
unwanted_dlls = [
|
||||
'Qt6Pdf',
|
||||
'Qt6Quick',
|
||||
@@ -222,13 +245,13 @@ a.binaries = [
|
||||
if not any(u.lower() in name.lower() for u in unwanted_dlls)
|
||||
]
|
||||
|
||||
# AJOUTE CECI ICI :
|
||||
# On filtre la liste des fichiers de données (datas)
|
||||
# On exclut tout ce qui se trouve dans le dossier 'translations' de PySide6
|
||||
a.datas = [f for f in a.datas if "translations" not in f[0].lower()]
|
||||
|
||||
# Si tu veux aussi supprimer les traductions système de Qt (fichiers .qm)
|
||||
a.datas = [f for f in a.datas if not f[0].endswith('.qm')]
|
||||
# ------------------------------------------------------------------
|
||||
# 🔥 Suppression traductions Qt (gain taille)
|
||||
# ------------------------------------------------------------------
|
||||
a.datas = [
|
||||
f for f in a.datas
|
||||
if "translations" not in f[0].lower() and not f[0].endswith('.qm')
|
||||
]
|
||||
|
||||
|
||||
pyz = PYZ(a.pure, a.zipped_data)
|
||||
@@ -243,6 +266,8 @@ exe = EXE(
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
|
||||
# 🔥 Compression max
|
||||
upx=True,
|
||||
upx_exclude=[
|
||||
"_uuid.pyd",
|
||||
@@ -256,11 +281,17 @@ exe = EXE(
|
||||
"msvcp*.dll",
|
||||
],
|
||||
runtime_tmpdir=None,
|
||||
console=True,
|
||||
console=False,
|
||||
|
||||
# 🔥 ONEFILE
|
||||
onefile=True,
|
||||
|
||||
disable_windowed_traceback=True,
|
||||
argv_emulation=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None,
|
||||
icon=['assets\\Icon.ico'],
|
||||
|
||||
# 🔥 Icône EXE (important mais pas suffisant seul)
|
||||
icon=str(BASE_DIR / 'assets' / 'Icon.ico'),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user