【问题标题】:reroute terminal to interface of the application将终端重新路由到应用程序的界面
【发布时间】:2022-11-18 07:27:19
【问题描述】:

我构建了一个小型桌面应用程序,它可以编辑数据(.ags 格式),然后保存到选定的文件夹。在我遇到问题之前,我可以将它作为 python 文件运行,但是当我将它制作为 .exe 时它会崩溃。我解决了这个问题。原因是,特定的代码行试图打印到终端,但 .exe 没有。我从代码中删除了 sg.output() 行,然后使用 pyinstaller 使其成为 .exe。早些时候我使用的是 psgcompiler。

现在它工作正常。但是,当我打开软件时,终端也会打开(附图)。有没有机会隐藏它,或者将它添加到软件本身?我试过多线。 我试过添加,但没有用。

[sg.Multiline(size=(55, 5), reroute_stdout=True)],

谢谢

【问题讨论】:

  • 在 SO 上发帖时请不要问多个问题。这个问题需要更多的关注;这个问题是关于为什么控制台窗口会在您启动已编译的.exe 时显示,还是关于如何在pysimplegui 中选择多个文件?
  • 当您启动 .exe 时显示控制台窗口的最可能原因是它的编译方式。但是,由于您没有提供有关如何编译它的任何详细信息,我们不能确定这就是实际问题。如果可以,请尝试用更简单的程序复制问题,并发布更简单程序的代码和发出的编译命令以创建有问题的.exe
  • 感谢您的评论。我只用代码“ pyinstaller pythonFileName.py 编译了它。没有控制台,它会引发错误。因此寻找如何将输出添加到软件本身而不是控制台窗口的方法。

标签: python terminal pyinstaller exe pysimplegui


【解决方案1】:

默认情况下,pyinstaller 在控制台模式下编译可执行文件...这意味着除非您在应用程序在命令行之外运行时另有说明,例如通过双击.exe,控制台窗口将始终出现。

为避免这种情况,只需在编译时使用带有 -w 标志的 pyinstaller 窗口模式。

pyinstaller -w myapp.py

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多