Подпроцесс, кажется, не работает в exe-файле pyinstaller - PullRequest
0 голосов
/ 22 мая 2018

Моя программа в tkinter работает хорошо, когда я запускаю ее с использованием PyCharm, когда я создаю .exe файл с помощью pyinstaller,
pyinstaller -i"icon.ico" -w -F script.py
У меня нет ошибок.Я вставляю script.exe в ту же папку, что и мой script.py, и после запуска я думаю, что в шаге, где subprocess, он не отвечает, потому что у меня есть print до строки подпроцесса и его работы.

Кто-нибудь знает почему?

Это строка с подпроцессом:

import subprocess
from subprocess import Popen, PIPE
 s = subprocess.Popen([EXE,files,'command'],shell=True, stdout=subprocess.PIPE)

РЕДАКТИРОВАТЬ:

такая же проблема с:

s = subprocess.check_output([EXE,files,'command'],shell=True, stderr=subprocess.STDOUT)

Ответы [ 2 ]

0 голосов
/ 06 августа 2018

Вы можете скомпилировать свой код в режиме -w или --windowed, но затем вам нужно также назначить stdin и stderr.

Так что измените:

s = subprocess.Popen([EXE,files,'command'],shell=True, stdout=subprocess.PIPE)

на:

s = subprocess.Popen([EXE,files,'command'],shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE)
0 голосов
/ 22 мая 2018

Проблема была решена, если не использовать команду -w для создания exe-файла из сценария .py.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...