如何将python3 gui界面(py文件)打包成exe文件

前言:之前博客介绍了使用Pyqt5开发python gui界面,直接这样用的话,每次要通过Python启动。如果要脱离python环境使用,则需要将写好gui的python3的py文件打包成exe程序


网上找到的方法是python有个库,pyinstaller

  • 安装pyinstaller

可以直接在cmd命令行中,输入代码来安装pyinstaller

pip install pyinstaller
  • 打包文件成exe程序 (下面举个栗子)

1.​​​​​​将cmd的目录切换至(命令:cd 文件路径(注意空格))需要打包的py文件目录下:

该目录下资源如下图: 

  

2.输入打包执行代码: 

常用参数说明:
–icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
pyinstaller -h 来查看参数

2.1使用-F,即打包成一个exe文件

如果就一个py文件,可以直接

pyinstaller -F Video.py

如果想换图标就 :

pyinstaller -F --icon=myy.ico Video.py

目录下变成这样: 

dist目录下多了个exe文件: 

运行的话会出现cmd的黑框框即控制台,和我们的gui窗口

 

 ps:因为这里我们用的是 -F,所以可以把其他文件都删了,留这个Video.exe就行  

最开始我不换图标,不报错,加上--icon=myy.ico后报错了

AttributeError: module 'win32ctypes.pywin32.win32api' has no attribute 'error'

最后在Pyinstaller将python代码打包成exe | Pyinstaller错误合集里找到错误是因为


 2.2当使用-w,即使用窗口,无控制台时

pyinstaller -w --icon=myy.ico Video.py

生成的目录变成:

资源变多了,但是cmd那个烦人的黑框框不会出现了 ,只有我们的gui窗口


2019/8/8更新:

最近遇到的一个bug:之前我是python3.5,换电脑后我换成了python3.7,再次进行打包成exe操作时,打包后的exe运行时报错:

ImportError: unable to find Qt5Core.dll on PATH

最后我在https://stackoverflow.com/questions/57244083/pyinstaller-packed-exe-failed-to-run-script-on-other-pc-says-qt5core-dll-not-f找到了解决办法: 

发布了62 篇原创文章 · 获赞 118 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qq_38412868/article/details/92800524