pyinstaller noconsole选项使exe致命错误

时间:2019-12-26 05:34:37

标签: pyinstaller

嗨,我是编程新手。 我用

python 3.5.6,pyinstaller 3.5,硒3.141,pyqt5 5.13.2,pymysql 0.9.3

它在原子上工作正常。

pyinstaller --onefile myapp.py

但是当我这样做

pyinstaller --noconsole --onefile myapp.py
出现致命错误按摩框。像下面一样

fatal error detected

failed to execute script MyScript

我搜索了很多,但找不到原因。


我做了一些https://stackoverflow.com/a/47229908/12471379的工作 仍然不知道如何解决。

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您的问题似乎与系统标准输出的编码重新配置以及标准错误sys.stdoutsys.stderr有关。

如果您仍然想更改stdoutstderr的编码,则以下代码应该可以工作(不会阻止您将pyinstaller--noconsole选项一起使用):

import codecs
if sys.stdout.encoding != 'UTF-8':
    sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer, 'strict')
if sys.stderr.encoding != 'UTF-8':
    sys.stderr = codecs.getwriter('utf-8')(sys.stderr.buffer, 'strict')