这次需要打包的项目为Tkinter目录下的test3目录下的所有python文件,其中main.py为主文件。
命令:在test3路径下使用:pyi-makespec main.py
如下图已经生成main.spec文件。
命令:pyinstaller main.spec
若显示如下所示则证明打包成功。
此时项目下多了两个目录,进入dist目录,找到dist路径下后缀名为exe的文件。这里为dist下目录main下的main.exe。
通过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运行,这次便能成功运行。