Избавление от вывода консоли при замораживании программ Python с помощью Pyinstaller
Недавно я написал довольно простую программу для моего дедушки, использующую Python с графическим интерфейсом от Tkinter, и он отлично работает для того, для чего он будет его использовать. Однако есть, конечно, уродливое окно вывода консоли. Я успешно избавился от него, просто изменив расширение файла с .py на .pyw. Когда я замораживаю его с помощью PyInstaller, он снова появляется снова! Есть ли способ для меня исправить это?
Спасибо заранее.
Ответы
Ответ 1
Если вы хотите скрыть окно консоли, здесь - это документация:
Так вы используете опцию --noconsole
python pyinstaller.py --noconsole yourscript.py
Если вам нужна помощь с помощью pyinstaller, чтобы перейти к пункту, где вам нужно использовать опцию --noconsole
здесь, это простой учебник для получения есть.
Ответ 2
Просто добавьте флаг --noconsole
:
$ python pyinstaller.py --noconsole yourprogram.py
Возможно, вы захотите использовать --onefile
, который создает отдельный файл .exe
вместо папки.
Ответ 3
Это одна из первых вещей, которые возникают при поиске этой информации, поэтому я хотел бы добавить то, что нашел для выпуска 3.2 pyinstaller. Если вы уже упаковали свой script, запустив
pyinstaller --onefile your_script.py
или аналогичный, вы можете отредактировать файл your_script.spec, чтобы избавиться от консоли.
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='main',
debug=False,
strip=False,
upx=True,
console=True )
Просто измените значение консоли на False. Затем запустите:
pyinstaller your_script.spec
Кроме того, если вы вносите изменения в свой код, запустите указанную выше команду, чтобы они отразились в файле your_script.exe. Я нашел это полезным для отладки различных других проблем.
Ответ 4
Pyinstaller -F --noconsole yourfilename.pyw
Это создаст один файл .exe
Pyinstaller --noconsole yourfilename.pyw
Используя это, вы получите файл .exe вместе со всеми .dll и другими необходимыми файлами в папке.