web-dev-qa-db-fra.com

Se débarrasser de la sortie de la console lors du gel des programmes Python utilisant Pyinstaller

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.

27
dfreeze

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.

64
Stephan

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.

11
Blender

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.

7
PileUpOKpull
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.

0
Suparno