環(huán)境 Win7 64位旗艦版 python3.4 anaconda 在含有 matplotlib的腳本工程中,用pyinstaller將其打包,在loading最后一個包zmq.py時出現(xiàn)錯誤:
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 >的時候出錯,并返回錯誤信息 錯誤信息的格式是基于當(dāng)前控制臺的編碼格式,不同的操作系統(tǒng)編碼格式不同,而一般代碼都使用utf-8編碼解決思路,改變控制臺的編碼格式為utf-8 解決方法,在控制臺中輸入 chcp 65001,然后再使用pyinstaller -F -w xxx.py 打包成功。
參考 解決方法網(wǎng)址
新聞熱點
疑難解答