环境 Win7 64位旗舰版 python3.4 anaconda 在含有 matplotlib的脚本工程中,用pyinstaller将其打包,在loading最后一个包zmq.py时出现错误:
out = out.decode(encoding)UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 121: invalid start byte查了一圈终于找到原因:
在zmq包 /Lib/site-packages/zmq/backend/cffi/__pycache__/_cffi_ext.c 文件中,声明了< sys/un.h >头文件,而在windows下没有这个文件 pyinstaller在分析< sys/un.h >的时候出错,并返回错误信息 错误信息的格式是基于当前控制台的编码格式,不同的操作系统编码格式不同,而一般代码都使用utf-8编码解决思路,改变控制台的编码格式为utf-8 解决方法,在控制台中输入 chcp 65001,然后再使用pyinstaller -F -w xxx.py 打包成功。
参考 解决方法网址
新闻热点
疑难解答