该应用程序作为脚本运行时运行良好,并且还可以通过终端编译macOS可执行文件。但是,当我将其单击为.app时,某些行为会异常。如何调试这一点,例如查看打印报表?
答案 0 :(得分:0)
要查看已编译的PyInstaller应用程序的打印语句,必须在.spec文件中设置console=True
,并且应该在.spec文件而不是.py文件上运行pyinstaller。
也就是说,pyinstaller自动生成的.spec文件默认为console=True
,因此我怀疑您正在寻找如何直接在OSX上运行二进制文件。为此,您必须运行.app包内的二进制文件,而不是该应用程序包本身。
OSX上的每个.app实际上都是一个目录。您会在其中找到二进制文件,例如:
myApplication.app/Contents/MacOS/myApplication
如果在终端中运行该命令,则会看到打印语句回显到终端。
提示:几乎每个OSX应用程序包都遵循以下想法:
答案 1 :(得分:0)
要从控制台查看打印语句或消息,可以使用--onefile
标志。从docs
如果在Mac OS X下仅指定
--onefile
,则dist中的输出为UNIX可执行myscript。可以从终端命令行执行。通过“终端”窗口,标准输入和输出正常工作。
因此,要运行程序,您将必须通过终端执行应用程序。任何打印语句或错误消息都将照常显示在控制台上。