48

我最近使用 Python 和 Tkinter 的 GUI 为我的祖父编写了一个相当简单的程序,它非常适合他将使用它的用途。但是,当然还有丑陋的控制台输出窗口。通过简单地将文件的扩展名从.py更改为.pyw,我已经成功地摆脱了它。当我使用 PyInstaller 冻结它时,它又重新出现了!我有什么办法可以解决这个问题吗?

提前致谢。

4

5 回答 5

108

如果你想隐藏控制台窗口,这里是文档:这就是你使用该--noconsole选项的方式

python pyinstaller.py --noconsole yourscript.py

如果您需要帮助使用 pyinstaller 来达到需要使用该--noconsole选项的地步,这里有一个简单的教程。

于 2013-07-11T04:04:27.463 回答
19

只需添加--noconsole标志:

$ python pyinstaller.py --noconsole yourprogram.py

您可能还想使用--onefile它,它会创建单个.exe文件而不是文件夹。

于 2013-07-11T03:50:42.160 回答
16

这是搜索此信息时首先出现的内容之一,因此我想添加我在 pyinstaller 3.2 版中找到的内容。如果您已经通过运行打包了脚本

pyinstaller --onefile your_script.py

或类似的,您可以编辑 your_script.spec 文件以摆脱控制台。

    exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          name='main',
          debug=False,
          strip=False,
          upx=True,
          console=True )

只需将控制台值更改为 False。然后运行:

pyinstaller your_script.spec

此外,如果您对代码进行了更改,请运行上述命令以使它们反映在 your_script.exe 中。我发现这对于调试各种其他问题很有用。

于 2016-11-02T17:46:26.123 回答
5
Pyinstaller -F --noconsole yourfilename.pyw

这将创建一个 .exe 文件

Pyinstaller --noconsole yourfilename.pyw

使用它,您将获得 .exe 文件以及文件夹中的所有 .dll 和其他必要文件。

于 2019-07-18T19:55:26.740 回答
0

该命令工作正常

pyinstaller -F -w yourfilename.py

这隐藏了黑色控制台窗口。

于 2021-07-05T07:21:03.820 回答