cx_Freeze 不打印到控制台

cx_Freeze doesn't print to console

我有一个应用程序可以在 运行ning 时向控制台打印一些内容。但是作为独立的可执行文件不会向控制台打印任何内容?

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() 语句。我需要在设置脚本中包含什么才能实现吗?

如果您使用 "Win32GUI" 基础,则 Windows 不会提供可用的 stdout 和 stderr。您需要自己将它们重定向到其他位置(例如文件)。如果您使用 "Console" 基础,那么 stdout 和 stderr 可用并且 print() 将按预期工作——但如果您没有从控制台中 运行 它,您将看到为您创建的控制台第一名!