cx_Freeze 不打印到控制台

Max*_*Max 4 python cx-freeze python-3.x

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

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")]
)
Run Code Online (Sandbox Code Playgroud)

在命令行上我运行以下命令:py setup.py build

然后我找到可执行文件并运行:Main.exe

由于某种原因我缺少的是任何print()声明。我需要在设置脚本中包含一些内容才能发生这种情况吗?

Ant*_*nga 6

如果您使用“Win32GUI”库,则 Windows 不会提供可用的 stdout 和 stderr。您需要自己将它们重定向到其他位置(例如文件)。如果您使用“控制台”库,则 stdout 和 stderr 可用,并且 print() 将按预期工作 - 但如果您一开始没有从控制台运行它,您将看到为您创建的控制台!