用于调试PyInstaller打包的Python / PyQt应用的选项?

时间:2019-05-09 11:48:35

标签: python pyqt pyqt5 pyinstaller

该应用程序作为脚本运行时运行良好,并且还可以通过终端编译macOS可执行文件。但是,当我将其单击为.app时,某些行为会异常。如何调试这一点,例如查看打印报表?

2 个答案:

答案 0 :(得分:0)

要查看已编译的PyInstaller应用程序的打印语句,必须在.spec文件中设置console=True,并且应该在.spec文件而不是.py文件上运行pyinstaller。

也就是说,pyinstaller自动生成的.spec文件默认为console=True,因此我怀疑您正在寻找如何直接在OSX上运行二进制文件。为此,您必须运行.app包内的二进制文件,而不是该应用程序包本身。

OSX上的每个.app实际上都是一个目录。您会在其中找到二进制文件,例如:

myApplication.app/Contents/MacOS/myApplication

如果在终端中运行该命令,则会看到打印语句回显到终端。

提示:几乎每个OSX应用程序包都遵循以下想法: .app / Contents / MacOS /

答案 1 :(得分:0)

要从控制台查看打印语句或消息,可以使用--onefile标志。从docs

  

如果在Mac OS X下仅指定--onefile,则dist中的输出为UNIX可执行myscript。可以从终端命令行执行。通过“终端”窗口,标准输入和输出正常工作。

因此,要运行程序,您将必须通过终端执行应用程序。任何打印语句或错误消息都将照常显示在控制台上。