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

问题描述 投票:0回答:5

我想让我的程序可执行。 我使用 TkInter 编写 GUI,并且我在某处读到,必须将文件另存为 .pyw 才能在执行程序时隐藏控制台。 问题是,使用 PyInstaller 将其设为可执行文件后,控制台再次显示,即使转换的文件是 .pyw。 如何在 .exe 文件中也隐藏控制台?

python tkinter exe
5个回答
57
投票

您尝试过

--windowed
命令行标志吗?


4
投票

您只需将

.pyw
添加到命令行并使用标准
--noconsole
文件即可隐藏该控制台窗口,而不是保存/重命名/更改扩展名为
.py

示例:

我们的文件夹中有一个名为

GUI_name.py
的文件,它使用 Tkinter。现在我们可以通过在 cmd 中输入
.exe
轻松创建不显示控制台窗口的
pyinstaller --onefile --noconsole GUI_name.py
文件。

enter image description here


4
投票

您可以只保存扩展名为.pyw的文件,然后就可以使用

pyinstaller --onefile Filename.pyw

我认为你重命名了它。您将其另存为 .pyw 不要重命名它。 截图如下: enter image description here

enter image description here

enter image description here

输出:

enter image description here

但是需要一段时间才能打开。
谢谢你


1
投票

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

如果您使用 py2exe 并且使用:

setup(windows=[pythonscriptnamehere])

在设置脚本中而不是:

setup(console=[pythonscriptnamehere])

它将运行可执行文件,而无需在后台启动终端。


1
投票

来自 PyInstaller 文档:

使用控制台窗口

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

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

如 CPython 教程附录中所述,对于 Windows 来说,文件 .pyw 的扩展名会抑制通常出现的控制台窗口。 同样,使用时不会提供控制台窗口 使用 PyInstaller 的 myscript.pyw 脚本。

© www.soinside.com 2019 - 2024. All rights reserved.