首页 > 学院 > 开发设计 > 正文

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

2019-11-11 05:03:43
字体:
来源:转载
供稿:网友

环境 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 打包成功。

参考 解决方法网址


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表