Python通过pyinstaller打包的exe运行闪退和无法启动的问题踩坑


用PyQt5和QtDesigner写了个界面化的程序给别人用,同时还涉及到操作excel表格,最后需要打包给那个人用。

最开始的环境是:Anaconda3 +python3.6.13,以及通过pip安装的pyqt5、openpyxl和pyinstaller。

本机写好后无异常,但是通过pyinstaller打包时,不管是-F单独exe文件还是-D单独目录模式,最后生成的exe文件都无法启动。

也尝试了把PyQt5等第三方库放到自己的py文件目录里,但是还是不行,原理上来说,pyinstaller本身就会将所有第三方库打包,也根本不用这么操作。

 

最后,被这篇文章最后的总结启发:https://zhuanlan.zhihu.com/p/57435892

环境很重要!

因为我一开始的代码编写和打包过程,都是在Anaconda3的虚拟环境中进行的,我尝试了下把打包后的exe文件通过Anaconda3的虚拟python环境运行,结果是可以运行的!

所以,当我想在windows本身的环境中运行虚拟环境打包的exe文件,自然是不能成功了,大概率是因为一些依赖路径的错误。

所以,解决方法就呼之欲出了。

在windows本身环境中,直接安装python,运行下看看代码能不能运行;然后,也在windows原生cmd中用pyinstaller进行打包操作。这样一来得到的exe文件就能在本机原生cmd环境和他人的机器上运行了。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM