pyinstaller 在 python 3.7.0 下的错误

本文写于 2018.08.13,是阐述当时 pyinstaller 的最新版本 v3.3.1 不兼容 python 3.7.0 而导致的相关问题,但 pyinstaller 刚刚(2018.09.10)发布了新版本 v3.4 ,并在发布日志明确表示已经添加了对 python 3.7 的支持。故本文是一篇过时的文章,请酌情阅读。

以下是原始正文。


正在卸载 python 3.7.0,重装 3.6.6,看进度条估计还要一会儿,趁这功夫把坑贴出来……

之前一直用 pyinstaller 来打包、发布一些 python 项目,最近升级 python 到 3.7.0 后,再用 pyinstaller 打包,打包过程中没有问题,但执行打包结果时报错:

Fatal Python error: initfsencoding: unable to load the file system codec
zipimport.ZipImportError: can't find module 'encodings'

排查后确认是 pyinstaller(目前最新版本为 v3.3.1) 对 python 3.7.0 的支持存在问题,见作者的回复

说白了就是 pyinstaller 目前还不支持 python 3.7

目前还没有看到有什么方法能修复这个问题,解决方法也只能是重装 python,回滚到 3.7 以前,亲测 3.6.6 没有问题。

然后,坐等作者升级。