python运行时出现UnicodeDecodeError: 'gbk' codec can't decode byte 0x89 in position 14: illegal ...的解决办法
这种问题的出现一般是编码问题,在文件读写时会出现。
解决办法:
第一种:
在后面加上encoding='utf-8'即可
FILE_OBJECT= open('order.log','r', encoding='UTF-8')
第二种:
以二进制的方式读取文件。也就是以rb方式打开文件。
FILE_OBJECT= open('order.log','rb')
以上是常规的解决思路,但是今天在pyinstaller以后的exe文件在其他电脑上出现了上述的错误。如下图:
可知是configparser读取配置文档出错了。去打开config.ini文件时发现文件不是以utf-8保存的。所以出现了读取错误。只要在configparser.read()中的第二个参数加上encoding="utf-8-sig"就可以解决问题了
pyinstaller打包运行报错failed to execute script main
执行以下命令即可解决问题:
pyinstaller --hidden-import=queue -w –F test.py
-w为不需要命令窗口
-F为只打包为一个exe文件