Python3.7 pyinstaller打包成win可执行文件后can't find module 'encodings'错误解决

1. 最近对象公司换电脑了,之前给她写的Python3.7工具需要装一下环境她才能用。女生不会装,我给她远程装的话以后换电脑了又得再装一次,嫌麻烦,所以想Python能不能打包成桌面可执行文件,搜了一下果然可以。于是用pyinstaller打包了一份,打包很顺利但是运行exe程序的时候报错:

unalbe to load the file system codec zipimport. ZipImportError: can't find module 'encodings'

2. 网上搜了一下成功的解决了问题,记录一下几个要点:

  • pyinstaller默认使用pip installer pyinstaller安装的是最新稳定版3.3.1,最高支持python3.6
  • 所以如果你的代码没有任何问题,那就是打包pyinstaller的问题了
  • 解决办法最新devpyinstaller3.4 此版本支持Python3.7如下:
    //卸载 pyinstaller
    pip uninstall pyinstaller
    //安装最新dev版pyinstaller3.4 此版本支持Python3.7
    pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz
    //从新打包即可正常运行exe文件 -F dist 下一个只生成exe可执行文件,简洁
    pyinstaller  ***.py  -F

3. 参考资料stackoverflow文章