python利用实现pyinstaller打包多文件打包

最近用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命令框进行打包的。
最后来看一下打包过程:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ok,这样就得到EXE文件了。

在这里插入图片描述

注意!!!!!!!!

一定要在安装pyinstaller库和pywin32库的环境中去打包,如果python环境多的情况下,更要注意,应为这个问题,浪费了我大量时间,最后更改了一下设置才解决。害!!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平