此项目分为两步:
GUI编写程序,pyinstaller打包软件,所用到的第三方库:
tkinter,pyinstaller–具体实现
- GUI界面 本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面 代码如下
from tkinter import Label
widget=Label(None,text=”This is my first GUI!!”)
widget.pack()
widget.mainloop()
- 程序打包
首先一个程序都有该程序的图标,所以要想让自己的程序拥有更加亮眼的图标的话,可以自己通过PS或者作图软件设计自己的图标,然后通过网站http://www.bitbug.net/将自己设计的图标改换成ico格式。该网站是可以将jpg、png、gif等图像文件转换为ico文件。当然,本人在这里还给大家推荐一个更省时省力的办法,那就是直接使用别人已经设计好的ico图标。具体怎么操作呢,可以去http://www.iconpng.com下载。
图标解决了,程序代码编写好了,接下来就是最最重要的软件打包环节了。
在此,我们用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:codeimage.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=roman.ico ‘mainform.py’ 或者设置下环境变量。这时,再看下生成的exe:
安装pyQt推荐的教程里完全可以解决上述问题。
另外在运行exe程序是,随着GUI界面的出现,也会出现DOS界面,这显然是我们不想看到的,怎么解决呢,这需要在你打包的命令最后加上–noconsole(会英语的不用我多说了吧)详细结局方案见如下教程pyinstaller打包后的exe运行怎么去掉弹出的dos窗口
未经允许不得转载:肥猫博客 » python将GUI项目打包成exe文件