首页 > 解决方案 > 使用 pyinstaller 导出时如何正确排除 python 程序故障?

问题描述

我最近创建了一个 Python 程序,并设法使用 PyInstaller 将它打包成一个 exe。

问题是它生成的 exe 生成的窗口消失得如此之快,我无法阅读其中的内容。

我发现无法保持该窗口打开:

-c并且-wPyIinstaller 命令不起作用,也不是--debug all:窗口仍在出现,在其中产生超快速的终端文本,然后在没有给我足够的时间阅读它遇到的问题的情况下自行关闭。

有没有办法让 PyInstaller exe 生成运行它们时发生的日志文件?对于我可以做些什么来理解我的程序崩溃的原因,或者保持它的窗口打开以便我可以阅读其中的内容,你有什么其他建议吗?感谢您的关注 :)

标签: pythonwindowsexepyinstaller

解决方案


对代码进行故障排除与 Pyinstaller 无关。您可以使用 python日志记录并将控制台输出重定向到文本文件。这里有一个很好的例子。

此外,根据这个,如果您在导入模块时遇到问题并且需要更多信息,您可以使用详细模式,-v标记以打印有关 Pyinstaller 导入模块状态的更多信息。

您还可以将-v(详细导入)标志传递给嵌入式 Python 解释器(请参阅上面的提供运行时 Python 选项)。这可能非常有用。即使应用程序显然可以工作,它也可以提供信息,以确保它们从包中获取所有导入,并且不会泄露到本地安装的 Python。

对于您的最后一个问题,如果您需要使用 JSON 字符串,您可以在 Python 中使用字典类型,然后使用json模块 ( json.dumps) 将您的转换dict为有效的 JSON 字符串。你可以在这里找到更多信息。


推荐阅读