Joe*_*ley 5 python wxpython output-buffering
我有一个一直在使用的Py3.x GUI应用程序Gooey。该应用程序功能齐全,并且GUI可以按预期工作,但内置控制台/终端接收缓冲的输出除外。
如果我使用来运行.py文件,这不是问题pythonw -u script.py,但是我现在尝试将工具捆绑/冻结到中.app。捆绑过程一直有效,但是在打开应用程序时仍然存在缓冲输出的问题。
到目前为止,我发现了以下内容,但没有尝试过:
一些线程建议在每次调用时使用flush=Truewith print()进行写操作,但是logging-我在这里感兴趣的是-没有这样的互补标志。因此,该线程中的各种猴子修补解决方案对我也没有用(需要注意的是,我对logging井的内部结构并不了解,因此也许对记录器Gooey本身也可以应用类似的方法,并且打包过程输出的日志记录信息比我自己的调用要多得多,并且仍在缓冲中,因此看来“全局取消缓冲”才是真正需要的。
该线程提供了许多方法。确实,建议sys.stdout使用0缓冲区大小的重新打开方法,但是在第一个线程中,根据PIP 3116以及在我看来,使用PIP 3116,它是否仍然可以在Python 3上使用还存在争议。
nonbuffered_stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
sys.stdout = nonbuffered_stdout
Run Code Online (Sandbox Code Playgroud)
似乎.app完全打破了。
尝试将“ a” -u或PYTHONUNBUFFERED=1“ shebang ”“注入” ,无论是否带有,都似乎不起作用(在本例中为MacOS)-S。
python3 -u?我仍在尝试将MWE gooey组合在一起,但是结合使用打包过程会使这变得有些困难。
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |