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环境和他人的机器上运行了。

posted @   零楚L  阅读(3904)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示