pyinstaller 打包的exe在某些win7上面报错 faild to execute script pyi_rth_multiprocessing .一直没找到原因,一直以为是pyinstaller的问题。 后面想到会不会是python本身的问题。
因为 pyinstaller 本质上就是把python打包在最终exe里,如果python本身有问题,打包后的exe肯写也有问题。带着猜测,试着在有问题的电脑上装了,开发环境同版3.8.2的python,结果
是提示不能安装,要装sp1(实际系统是装了的),看日志,要装 KB2533623 ,才行。 这样基本断定就是这个原因了。查了一下python的资料.python3.7以上对系统有要求,必须须要打补丁 [Windows6.1-KB2533623]才能正常运行 。 没打补丁的系统python3.7(含)以上就都不能正常运行,所以打包的程序就会报错了。 只要打上此补丁立马就好了。 或者打包环境换成 python 3.6 的。
后面又找到pyinstaller 官方资料,确实如此:
https://github.com/pyinstaller/pyinstaller/issues/4706