最近用python写了一个界面化程序,想要利用pyinstaller打包成EXE文件,所以用这篇文章记录一下。
文章目录
-
-
- 安装库
- 参数
- 介绍
- 指令
- 打包演示:
-
- 注意!!!!!!!!
安装库
1、安装pywin32
下载安装文件:查找到跟自己适用的python版本及window系统版本匹配的pywin32,下载后安装
使用pip命令安装:
pip install pywin32
2、安装pyinstaller的方法:
进入命令框,输入下面着段代码就可以了。如果用了Anaconda的话需要进入对应的python环境,然后再输入;
pip install pyinstaller
参数
首先看一下pyinstaller常用的指令参实:
-F 表示生成单个可执行文件-D 生成包含可执行文件的文件夹,而不是单个可执行文件(推荐使用)-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!-p 表示你自己自定义需要加载的类路径,一般情况下用不到-i 表示可执行文件的图标(icon图标,不能用直接修改后缀的,可以百度ico图标在线转换)
上面就是常用的几个参数指令。
介绍
利用pyinstaller可以将单个的py文件打包成桌面exe文件,脱离python的编译器就能独立于运行,可以拷贝到其他人的电脑上运行。
指令
1、打包单个文件指令:
pyinstaller -F xx.py
需要什么操作就,就加上对应的参数:如需要添加去除控制台只需要在指令中加入-w即可:
pyinstaller -F -w xx.py
2、多个程序的打包
pyinstaller -D xx.py
尽量使用-D参数去打包,同时要注意需要打包的多个文件尽量和入口文件在同一路径下。
比如说我要打包三个文件:
pyinstaller -D com_uart.py
如果不在同一路径下:
pyinstaller -D com_uart.py -p [对应的子文件的路径] -p[… …]
至于为什么要用-D不用-F,是应为如果调用了别的定义的库,如tkinter写的文件。使用-F打包完成后,打开会很有可能会报错(这个殴也不清楚,但是我是报错了)
让我们看一下这两个的打包区别,首先是-F:
pyinstaller -F com_uart.py
会生成这两个文件夹,其实都是生成这两个文件夹,其中exe文件在dist文件夹中。主要区别在dist文件夹中。
-F生成的dist文件夹中只有一个exe文件。
再来看一下-D生成的dist文件夹:
可以看见dist文件夹中是个文件夹,打开后会发现,里面包含了许多文件,而且将tk库也包含进去了。
打包演示:
演示是通过cmd命令框进行打包的。
最后来看一下打包过程:
注意!!!!!!!!
一定要在安装pyinstaller库和pywin32库的环境中去打包,如果python环境多的情况下,更要注意,应为这个问题,浪费了我大量时间,最后更改了一下设置才解决。害!!