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() 将按预期工作——但如果您没有从控制台中 运行 它,您将看到为您创建的控制台第一名!
我有一个应用程序可以在 运行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() 将按预期工作——但如果您没有从控制台中 运行 它,您将看到为您创建的控制台第一名!