使用Pyinstaller冻结Python程序时摆脱控制台输出

时间:2013-07-11 03:44:51

标签: python pyinstaller

我最近为我的祖父使用Python和来自Tkinter的GUI编写了一个相当简单的程序,并且它可以很好地用于他将要使用它的内容。但是,当然还有丑陋的控制台输出窗口。我通过简单地将文件的扩展名从.py更改为.pyw来成功摆脱它。当我使用PyInstaller冻结它时,它再次出现!我有什么方法可以解决这个问题吗?

提前致谢。

5 个答案:

答案 0 :(得分:52)

如果要隐藏控制台窗口,here是文档: 这是您使用--noconsole选项

的方式
python pyinstaller.py --noconsole yourscript.py

如果您需要使用pyinstaller帮助到达需要使用--noconsole选项here的位置,这是一个简单的教程。

答案 1 :(得分:10)

只需添加--noconsole标记:

$ python pyinstaller.py --noconsole yourprogram.py

您可能也想使用--onefile,这会创建一个.exe文件而不是文件夹。

答案 2 :(得分:7)

这是搜索此信息时首先出现的问题之一,因此我想添加我在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中。我发现这对调试各种其他问题很有用。

答案 3 :(得分:0)

Pyinstaller -F --noconsole yourfilename.pyw

这将创建一个.exe文件

Pyinstaller --noconsole yourfilename.pyw

使用此文件,您将在文件夹中获取.exe文件以及所有.dll和其他必要文件。

答案 4 :(得分:0)

这个命令工作正常

pyinstaller -F -w yourfilename.py

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