使用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運行,這次便能成功運行。

 

 

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