Как убрать консоль при запуске exe python
Перейти к содержимому

Как убрать консоль при запуске exe python

  • автор:

Как запустить скрипт Python без появления консоли Windows

Есть ли способ запустить скрипт на Python без командной оболочки, появляющейся на мгновение? Присвоение имен моим файлам с расширением.pyw не работает.

РЕДАКТИРОВАТЬ: проблема решена с ShellExecute()

4 ответа

Используйте функцию ShellExecuteEx.

Это pExecInfo: ***nShow — флаги, которые определяют, как приложение должно отображаться при его открытии.

Попробуйте использовать Питон pythonw.exe исполняемый файл для запуска вашего скрипта.

В ОС Windows — исполняемые файлы, являющиеся консольными приложениями ( python.exe без w является консольным приложением) запускается с отображением окна консоли; с другой стороны, обычные приложения Windows не порождают это черное консольное окно.

Вы можете найти подробности об этих двух исполняемых файлах в этом старом вопросе: pythonw.exe или python.exe?

Во всех установках python начиная с 2.5 (и, возможно, ранее), если установка была выполнена правильно, .py файлы связаны с python.exe а также .pyw файлы связаны с pythonw.exe

Если ассоциации были подделаны или переопределены для конкретного пользователя, это может отличаться.

Запустите следующую команду в cmd:

Если у вас этого нет, вы можете сделать несколько вещей, чтобы это исправить:

Python .exe не будет работать без консоли в фоновом режиме

Я создал программу на Python, которая собирает информацию из активного каталога. Для сбора информации программа запускает определенные сценарии PowerShell для подключения к серверу.

После того, как отладка, казалось, была завершена, я преобразовал файл в .exe с помощью pyinstaller -onefile -w. Когда я запускаю .exe, графический интерфейс открывается без проблем, но когда я пытаюсь выполнить команды, которые подключаются к серверу активного каталога, программа вылетает. Когда это происходит, в консоли нет кода ошибки. После устранения неполадок самостоятельно в течение минуты я понял, что если я создам .exe без -w, заставляющего консоль работать в фоновом режиме, программа будет работать нормально. Проблема в том, что я действительно не хочу, чтобы консоль работала в фоновом режиме, поскольку это должно быть удобное для пользователя приложение.

Могу ли я запустить программу без окна консоли или, по крайней мере, скрыть ее при запуске графического интерфейса? Также извиняюсь, если это глупый вопрос. Я новичок в программировании и даже новичок в PowerShell.

p.s. вот фрагмент кода Python, который запускает сценарий PowerShell:

Ответы (2)

Хорошо, я понял это. Во-первых, все, что не сработало: -Попытка создать .exe с —no console в pyinstaller, а затем манипулировать подпроцессом, чтобы скрыть консоль. -Пробовать другие варианты вне Popen в подпроцессе -Пробовать альтернативные процедуры создания .exe в pyinstaller

Python-сообщество

Доброго вечера. Искал и не нашел: как убрать консоль с фона приложения, после конвертации PyQt4 в exe? Типа, запуска с pyw. Пробовал pyw отправлять на конвертацию — не помогает.

Отредактировано Razor (Дек. 14, 2013 14:38:44)

#2 Дек. 21, 2013 11:08:16

Убрать консоль с PyQt4 script.exe файла

Чем компилируешь? Если Pyinstaller, то в нем есть ключик для этого!

#3 Дек. 21, 2013 13:09:42

Убрать консоль с PyQt4 script.exe файла

Компилирую cx_Freeze. Python 3.2 x32, PyQt4 x32.

#4 Дек. 22, 2013 03:42:47

Убрать консоль с PyQt4 script.exe файла

Вы бы скрипт показали, а так, скорее всего объекту Executable передан параметр base = None (для GUI надо base = “Win32GUI”)

#5 Дек. 22, 2013 09:05:45

Убрать консоль с PyQt4 script.exe файла

В скрипте ничего подобного нету. Я ничего не добавлял в скрипт для компиляции.

А скрипт то значения не имеет — скриптов много и у вех такая штука, но раз вы просите, то вот один, попроще (проблема та же самая, разумеется):

#6 Дек. 23, 2013 00:53:22

Убрать консоль с PyQt4 script.exe файла

#7 Дек. 23, 2013 11:25:51

Убрать консоль с PyQt4 script.exe файла

Опа. Не хочу показаться неряшливым, но что за setup.py? Его ложить вместе с программой и через нее компилировать? Первый раз слышу о ней Или плохо ищу, или…плохо ищу, но не могу найти, что делать с этим файлом при компиляции. Помогите, пожалуйста.

Избавление от вывода консоли при зависании программ Python с помощью Pyinstaller

Недавно я написал довольно простую программу для моего дедушки, использующую Python с графическим интерфейсом от Tkinter, и он отлично работает для того, для чего он будет его использовать. Однако есть, конечно, уродливое окно вывода консоли. Я успешно избавился от него, просто изменив расширение файла с .py на .pyw. Когда я замораживаю его с помощью PyInstaller, он снова появляется снова! Есть ли способ для меня исправить это?

3 ответа

Если вы хотите скрыть окно консоли, здесь — это документация: Так вы используете опцию —noconsole

Если вам нужна помощь с помощью pyinstaller, чтобы перейти к пункту, где вам нужно использовать опцию —noconsole здесь, это простой учебник для получения есть.

Просто добавьте флаг —noconsole :

Возможно, вы захотите использовать —onefile , который создает отдельный файл .exe вместо папки.

Это одна из первых вещей, которые возникают при поиске этой информации, поэтому я хотел бы добавить то, что нашел для выпуска 3.2 pyinstaller. Если вы уже упаковали свой script, запустив

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *