python将GUI项目打包成exe文件

时间:2024-10-20 08:08:53

此项目分为两步:

  1. GUI编写程序
  2. pyinstaller打包软件

所用到的第三方库:

  • tkinter
  • pyinstaller

具体实现

1. GUI界面
本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面
代码如下

from tkinter import Label
widget=Label(None,text="This is my first GUI!!")
widget.pack()
widget.mainloop()  

2. 程序打包

  1. 首先一个程序都有该程序的图标,所以要想让自己的程序拥有更加亮眼的图标的话,可以自己通过PS或者作图软件设计自己的图标,然后通过网站/将自己设计的图标改换成ico格式。该网站是可以将jpg、png、gif等图像文件转换为ico文件。当然,本人在这里还给大家推荐一个更省时省力的办法,那就是直接使用别人已经设计好的ico图标。具体怎么操作呢,可以去下载。
  2. 图标解决了,程序代码编写好了,接下来就是最最重要的软件打包环节了。
    在此,我们用pyinstaller打包,这是一个用于pythonGUI打包软件的第三方库。
    具体操作命令如下:1,安装pyinstaller
    pip install pyinstaller (如果安装失败,用管理员权限安装)

2,打包程序

1,安装pyinstaller
    pip install pyinstaller (如果安装失败,用管理员权限安装)
    
2,打包程序
    (1)将ico图片、和代码同一文件夹
    (2)Win+R,cmd进入管理员界面 cd切换到代码目录
    (3)输入命令pyinstaller -F -w -i F:\code\image.ico demo.py
        -F 表示打包(F 大写)
        -w 取消控制台显示(w 小写)
        -i 有错误也继续执行(i 小写)
        ico图片路径(绝对路径)
        最后是代码名称
    (4)如果程序里面有图片,需要将图片复制到exe文件同一级文件夹,否则程序无法正常运行
    注意:
    	文件路径千万不要有中文,否则会出现一些编码方面的错误。

打包完成后的文件结构
在这里插入图片描述
这是我们想要的exe文件就在dist目录里。

进入dist目录,点击exe文件运行我们生成的程序,可能会出现如下错误:
在这里插入图片描述
不要慌张,这个错误的原因在于pyinstaller找不到PyQt库,如果是通过网上封装好的pyqt安装程序包安装的,则不会出现这个问题,而我们是通过pip安装的,没有将pyqt的路径加入环境变量。解决办法是在打包命令中加入paths参数:pyinstaller --paths C:Users…Python35-32/Lib/site-packages/PyQt5/Qt/bin -F -w --icon= ‘’ 或者设置下环境变量。这时,再看下生成的exe:
安装pyQt推荐的教程里完全可以解决上述问题。
另外在运行exe程序是,随着GUI界面的出现,也会出现DOS界面,这显然是我们不想看到的,怎么解决呢,这需要在你打包的命令最后加上–noconsole(会英语的不用我多说了吧)详细结局方案见如下教程pyinstaller打包后的exe运行怎么去掉弹出的dos窗口

博主个人博客:先锋的个人技术笔记