我最近使用 Python 和 Tkinter 的 GUI 为我的祖父编写了一个相当简单的程序,它非常适合他将使用它的用途。但是,当然还有丑陋的控制台输出窗口。通过简单地将文件的扩展名从.py更改为.pyw,我已经成功地摆脱了它。当我使用 PyInstaller 冻结它时,它又重新出现了!我有什么办法可以解决这个问题吗?
提前致谢。
我最近使用 Python 和 Tkinter 的 GUI 为我的祖父编写了一个相当简单的程序,它非常适合他将使用它的用途。但是,当然还有丑陋的控制台输出窗口。通过简单地将文件的扩展名从.py更改为.pyw,我已经成功地摆脱了它。当我使用 PyInstaller 冻结它时,它又重新出现了!我有什么办法可以解决这个问题吗?
提前致谢。
只需添加--noconsole
标志:
$ python pyinstaller.py --noconsole yourprogram.py
您可能还想使用--onefile
它,它会创建单个.exe
文件而不是文件夹。
这是搜索此信息时首先出现的内容之一,因此我想添加我在 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 中。我发现这对于调试各种其他问题很有用。
Pyinstaller -F --noconsole yourfilename.pyw
这将创建一个 .exe 文件
Pyinstaller --noconsole yourfilename.pyw
使用它,您将获得 .exe 文件以及文件夹中的所有 .dll 和其他必要文件。
该命令工作正常
pyinstaller -F -w yourfilename.py
这隐藏了黑色控制台窗口。