隐藏使用PyInstaller创建的.exe文件的控制台

时间:2016-12-13 19:58:18

标签: python tkinter exe

我想让我的程序可执行。 我使用TkInter来编写GUI,我在某处读到你必须将文件保存为.pyw以在程序执行时隐藏控制台。 问题是,在使用PyInstaller使其成为可执行文件之后,即使转换的文件是.pyw,控制台也会再次出现。 如何在.exe文件中隐藏控制台?

4 个答案:

答案 0 :(得分:29)

您是否尝试过--windowed命令行标志?

答案 1 :(得分:1)

您可以使用 .pyw 扩展名保存文件,您可以使用 pyinstaller --onefile Filename.pyw
我想你重命名了它。你将它保存为 .pyw 不要重命名它。 截图如下: enter image description here

enter image description here

enter image description here

输出:

enter image description here

但是打开需要一段时间。
谢谢
-杠杆

答案 2 :(得分:1)

来自 PyInstaller 文档:

<块引用>

使用控制台窗口

默认情况下,引导加载程序会创建一个命令行控制台(一个终端 GNU/Linux 和 Mac OS 中的窗口,Windows 中的命令窗口)。它给 这个窗口到 Python 解释器的标准输入和 输出。您的脚本对 print 和 input() 的使用指向此处。 来自 Python 的错误消息和默认日志输出也出现在 控制台窗口。

Windows 和 Mac OS 的一个选项是告诉 PyInstaller 不提供 一个控制台窗口。引导加载程序在没有目标的情况下启动 Python 标准输出或输入。当您的脚本具有图形 用户输入的界面,并可以正确报告自己的诊断。

如 CPython 教程附录中所述,对于 Windows,一个文件 .pyw 的扩展会抑制通常出现的控制台窗口。 同样,在使用 带有 PyInstaller 的 myscript.pyw 脚本。

答案 3 :(得分:0)

你用什么来制作可执行文件?

如果您使用py2exe并使用:

setup(windows=[pythonscriptnamehere])

在安装脚本中而不是:

setup(console=[pythonscriptnamehere])

它将在不在后台启动终端的情况下运行可执行文件。