pyinstaller打包后偶尔出现黑窗口一闪而过的问题及解决
作者:苍穹之跃
这篇文章主要介绍了pyinstaller打包后偶尔出现黑窗口一闪而过的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
pyinstaller打包后偶尔出现黑窗口一闪而过
原因
代码中使用了os.system或subprocess等执行了cmd命令。
解决
所有的cmd命令改用subprocess来执行。
import subprocess
重点
在于后面的参数:creationflags=0x08000000
subprocess.check_output(cmd, creationflags=0x08000000) subprocess.call(cmd, creationflags=0x08000000)
pyinstaller打包黑框闪退,或者没有黑框报错failed to execute script
尝试把之前写的一个软件打包,在cmd用命令
pyinstaller -F -w main.py
结果运行.exe告诉我failed to execute script,查了说可以试试把控制台留下,看看有啥报错信息(一般都是包没导进去,但你不知道是哪个包啊)。
然后我试了,结果控制台是全黑的,然后软件也没有运行,过了一会儿可能就超时自动退出了。于是我又差,有人说可以在cmd里运行一下文件,看看有啥错。
然后我运行之后,居然报错是“找不到 keras 模块”,好家伙,原来我有好几个环境,在现在的环境里打包就是没法运行的。所以用
conda avtivate tf1(你自己的软件所在的环境名)
来切换到写软件的那个环境(保证你安装了conda)。
小结:当你的电脑有多个环境时,打包软件的时候注意在软件依赖的那个环境下运行打包命令。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。