嗨,我是编程新手。 我用
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的工作 仍然不知道如何解决。
有人可以帮助我吗?
答案 0 :(得分:1)
您的问题似乎与系统标准输出的编码重新配置以及标准错误sys.stdout
和sys.stderr
有关。
如果您仍然想更改stdout
和stderr
的编码,则以下代码应该可以工作(不会阻止您将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')