您的位置:首页 > 编程语言 > PHP开发

关于使用pyinstaller 打包带有matplotlib 等出现UnicodeDecodeError解决方法

2017-02-06 14:19 633 查看
环境 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 打包成功。

参考

解决方法网址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息