[解决pyinstaller报错 ‘utf-8’ codec can’t decode byte 0xce in position 123: invalid continuation byte]
PyInstaller是一个功能强大的Python打包工具,它可以将Python程序转化为独立的可执行文件,并且能够在不同系统上运行。然而,在使用PyInstaller进行打包时,有时会遇到一些问题,其中之一便是 ‘utf-8’ codec can’t decode byte 0xce in position 123: invalid continuation byte 错误。
这个错误通常出现在Python程序中有非UTF-8编码字符时,例如GB2312、GBK等字符集。当PyInstaller打包程序时,它将会把你的Python文件编译成二进制文件,如果程序中存在非UTF-8编码字符,那么编译器会认为这是一个无效的续接字节。因此,导致了上述错误的出现。
解决这个问题的方法其实很简单,只需要在运行PyInstaller时加上一个参数即可:
pyinstaller --encoding=gbk yourscript.py
如果你的 Python 脚本中使用的字符集不是 GBK,你需要更换相应的字符集来解决问题。
除此之外,还有一种更复杂但是更全面的解决方案,就是手动添加hook文件。hook文件是用于告诉PyInstaller处理哪