Windows环境下用pyinstaller打包Python为exe后print无输出如何解决
问题根因
你使用的-w(也叫--windowed/--noconsole)是PyInstaller专门为GUI类程序提供的打包参数,作用是禁用程序的控制台输出关联,打包后的程序不会绑定标准输出、标准错误流到系统控制台,因此直接在命令行运行时不会打印任何内容,也不会抛出可见报错。
解决方案
根据你的使用场景二选一即可:
- 如果你需要程序在控制台打印输出,重新打包时去掉
-w参数即可:
新打包生成的exe运行时会自动弹出控制台,或在当前命令行窗口输出print的内容。pyinstaller --onefile file1.py - 如果你确实需要保留
-w参数(比如开发的是带图形界面的程序,默认不需要弹出控制台),可以在运行时将输出重定向到文件查看内容,命令行执行:
执行完成后打开同目录下的file1.exe > output.log 2>&1output.log文件,即可查看print输出内容和所有程序报错信息。
内容的提问来源于stack exchange,提问作者Mohamed Ziauddin
相关产品推荐
相关产品推荐

