使PyInstaller exe执行命令行和窗口

时间:2016-08-16 17:59:54

标签: python windows command-line pyinstaller

我正在编写一个可以在命令行和交互式窗口中使用的Python程序。 (这是一个坏主意吗?)如果提供了命令行参数,它会执行一个任务,然后打印成功"或者"失败"。否则,它会启动一个交互式窗口。

PyInstaller似乎不是为了支持这一点而构建的。我有两个非最佳选项:

  1. 使用--console模式:命令行效果很好,但是如果我双击exe来显示交互式窗口,它还会显示一个我不想要的控制台窗口
  2. 使用--noconsole模式:没有控制台弹出窗口,但在使用命令行时没有显示输出。
  3. 似乎我需要一种方法不在--console模式下弹出控制台,或者在--noconsole模式下显示打印输出。如果这两个选项都不起作用,我可能需要制作一个单独的命令行版本的程序。

    有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这不是一个完美的解决方案,但这个解决方法为我完成了这项工作:

在--noconsole中构建gui应用程序 - 这样的文件模式:

pyinstaller --noconsole --onefile hello.py

当您从Windows双击应用程序时,它将正常启动(没有控制台)。

现在要查看输出,从命令行浏览到可执行文件并输入:

hello.exe | more

" |更"应该将print语句发送到控制台。