一.需要打包的文件
這次需要打包的項目爲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運行,這次便能成功運行。