前言:之前博客介绍了​​使用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找到了解决办法: