cx_Freeze не печатает на консоль
У меня есть приложение, которое печатает несколько вещей в консоли при запуске. Но как отдельный исполняемый файл ничего не выводит на консоль?
Сценарий setup.py выглядит следующим образом:
import sys
from cx_Freeze import setup, Executable
setup(
name = "My App",
version = "1.0",
options = {
"build_exe" : {
"include_files": ['MyImgs']
},
},
executables = [Executable("Main.py", base = "Win32GUI")]
)
В командной строке я запускаю следующее: py setup.py build
Затем я нахожу исполняемый файл и запускаю: Main.exe
,
То, что мне по какой-то причине не хватает print()
заявления. Есть ли что-то, что мне нужно включить в сценарий установки, чтобы это произошло?
1 ответ
Если вы используете базу Win32GUI, то Windows не делает доступными stdout и stderr. Вам нужно будет перенаправить их самостоятельно в другое место (например, в файл). Если вы используете базу "Консоль", тогда доступны stdout и stderr, и print() будет работать как положено - но вы увидите консоль, созданную для вас, если вы не запустили ее с консоли в первую очередь!