题记
已经不知道多少次遇到pyinstaller
打包后其他电脑运行不了的问题了,每次都折腾的半死,网上没有一个可以帮助到自己的
相关介绍
pyinstaller 的打包模式有:
-F 指令打包: 会将所有文件放到exe中,也就是会把项目打包成单exe文件。
-D 指令打包: 会将项目打包到一个文件夹中,运行的时候要整个文件夹运行。
打包错误:
在生成的build文件夹中的warinning文件中查看。
坑1: not module 的坑。
网上常说not module的坑,执行 pyinstaller的 -F
命令就可以解决。或者在生成的spec
的 hiddenimports
中加入项目相关依赖可以解决。然而,我用pycharm还是总是出这个问题。
最后:发现自己很坑的一点是。
在pycharm中创建项目时,项目用的 python地址和 本地环境的 python地址不一致。。。。
此处查看。
需要确保自己的本地python环境
有项目的相关依赖。
可以在设置中进行环境切换。
坑2:部分机子运行不了,部分机子运行的了。
- 有的机子运行不了,需要重新安装
vc_redist.x64
,检测设备环境,有的设备缺失api-ms-win-crt-runtime-dll-v3.dll
需要重新修复。 - 修复后还是运行不了,报 什么 Excute failed scripet之类的,检查生成的build文件夹中是否有module没有打包进去。然后在 生成的
.spec文件
中进行添加.
需注意重新打包后,改文件又会重置!!
然后,其他的网上基本都有。