使用pyinstaller打包多个python文件

一.需要打包的文件

这次需要打包的项目为Tkinter目录下的test3目录下的所有python文件,其中main.py为主文件。

 

二.打包流程

1.生成主函数对应的spec文件

命令:在test3路径下使用:pyi-makespec main.py

如下图已经生成main.spec文件。

 

2.修改spec文件:加入需要打包的所有python文件,同时确保以下两项包含该项目的路径

 

3.对spec文件进行pyinstaller安装

命令:pyinstaller main.spec

若显示如下所示则证明打包成功。

此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录main下的main.exe。

 

4.测试是否能运行

通过powershell进入到项目路劲下执行exe文件,观察是否报错。

项目路径>  .\main.exe

 

发现缺少pkg_resources.py2_warn模块,则我们在main.spec的hiddenimports项进行加入,如下图:

 

退出powershell。先删除之前生成的dist和build目录。重新通过pyinstaller生成exe文件:pyinstaller main.spec

运行完成后,同样在powershell运行exe文件,查看情况:

本次出现的错误是缺少Tkinter模块,而这个原因是我们项目的上一级目录名称是Tkinter,在我们python文件中使用同级目录下的文件会诸如import Tkinter.test3.xxx。如下图:

修改方法:直接使用test3下的相对路径即可,即修改为如下图:

 

然后类似上一步,删除掉dist和build目录,重新生成exe文件,并在powershell运行,这次便能成功运行。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章