J'ai récemment écrit un programme assez simple pour mon grand-père en utilisant Python avec l'interface graphique de Tkinter, et cela fonctionne à merveille pour ce qu'il va l'utiliser. Cependant, il y a, bien sûr, le laid fenêtre de sortie de la console. J'ai réussi à m'en débarrasser en changeant simplement l'extension du fichier de .py à .pyw. Lorsque je le fige à l'aide de PyInstaller, il réapparaît! Y a-t-il un moyen pour moi de résoudre ce problème?
Merci d'avance.
Si vous voulez masquer la fenêtre de la console, ici est la documentation: Voici comment vous utilisez le --noconsole
option
python pyinstaller.py --noconsole yourscript.py
Si vous avez besoin d'aide pour utiliser pyinstaller pour arriver au point où vous devez utiliser le --noconsole
option ici est un tutoriel simple pour y arriver.
Ajoutez simplement le --noconsole
drapeau:
$ python pyinstaller.py --noconsole yourprogram.py
Vous voudrez peut-être utiliser --onefile
également, ce qui crée un seul .exe
fichier au lieu d'un dossier.
C'est l'une des premières choses qui surgit dans la recherche de ces informations, donc j'aimerais ajouter ce que j'ai trouvé pour la version 3.2 de pyinstaller. Si vous avez déjà empaqueté votre script en exécutant
pyinstaller --onefile your_script.py
ou similaire, vous pouvez modifier le fichier your_script.spec pour vous débarrasser de la console.
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='main',
debug=False,
strip=False,
upx=True,
console=True )
Modifiez simplement la valeur de la console sur False. Exécutez ensuite:
pyinstaller your_script.spec
En outre, si vous apportez des modifications à votre code, exécutez la commande ci-dessus pour les refléter dans le your_script.exe. J'ai trouvé cela utile pour déboguer divers autres problèmes.
Pyinstaller -F --noconsole yourfilename.pyw
Cela va créer un seul fichier .exe
Pyinstaller --noconsole yourfilename.pyw
En utilisant cela, vous obtiendrez le fichier .exe avec tous les fichiers .dll et autres fichiers nécessaires dans un dossier.