建设主管部门网站,网站建设典型发言,软件设计包括哪些内容,上海it公司排名这里写自定义目录标题 前言问题描述解决过程 前言
闪退原因可能有很多#xff0c;这里记录下我遇到的问题#xff0c;简单来说是dll调用错误导致的闪退#xff0c;因为我的python用的是32位的#xff0c;但是pyinstaller却是64位的#xff0c;属于用conda的时候没注意。 … 这里写自定义目录标题 前言问题描述解决过程 前言
闪退原因可能有很多这里记录下我遇到的问题简单来说是dll调用错误导致的闪退因为我的python用的是32位的但是pyinstaller却是64位的属于用conda的时候没注意。
问题描述
用python2.7 32位开发来脚本运行没有问题就想打包成exe。
环境是用conda创建的虚拟环境激活后conda install pyinstaller安装的pyinstaller然后运行pyinstaller -F xx.py进行打包中间其实是有告警的没管直接运行了生成的exe执行文件结果闪退了。
解决过程
在exe运行闪退后开始考虑的是程序运行结束了还特地在程序最后加来死循环来验证结果不是正常结束的应该是程序自身或者打包有问题。
想起来打包的时候有告警WARNING: lib not found: pywintypes27.dll dependency of xx就搜索了一下pywintypes27.dll的路径通过-p参数在打包的时候包含了路径告警消失但是闪退的问题没有解决说明不是这里导致的。
因为运行窗口一闪而过错误信息抓不到后来偶然在cmd中.\xx.exe运行了程序发现报错了显示了报错信息ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。如下
上网搜了一通也没找到解决办法突然想起来我这是32位的pythonconda是64位的当时装python的时候还特地设置成了32BIT而安装pyinstaller的时候应该是64位的因为装完python我就把环境还原回64位了的于是就将pyinstaller卸载了将环境切换到32位之后重新安装了pyinstaller再次打包前面说的告警也没了最终exe的闪退问题解决。