首頁 > 軟體

如何使用pyinstaller打包多個和單個python檔案詳解

2022-06-30 18:03:22

一、打包多個

1、將需要打包的專案為anjuke_sd目錄下的所有python檔案,其中excute_main.py為主檔案。

2、生成主函數對應的spec檔案

命令:在anjuke_sd路徑下使用:pyi-makespec excute_main.py

如下圖已經生成excute_main.spec檔案。

3、修改spec檔案:加入需要打包的所有python檔案,同時確保以下兩項包含該專案的路徑

4、對spec檔案進行pyinstaller安裝

命令:pyinstaller excute_main.spec

若顯示如下所示則證明打包成功。

此時專案下多了兩個目錄,進入dist目錄,找到dist路徑下字尾名為exe的檔案。這裡為dist下目錄excute_main下的excute_main.exe。

打包成功!

二、打包單個檔案

1、還是進入你需要打包的檔案的路徑,執行命令:pyinstaller -F 1.py,如下圖所示。

ps: -F參數列示覆蓋打包,這樣在打包時,不管我們打包幾次,都是最新的,這個記住就行,固定命令。

出現問題:

assert mpl_data_dir, “Failed to determine matplotlib’s data directory!”
AssertionError: Failed to determine matplotlib’s data directory!

解決:

找到該檔案:

D:ProgramFilePython38Libsite-packagesPyInstallerhooks

修改hook-matplotlib.py檔案,按照如下程式碼進行修改,再次打包就可以正常

import matplotlib
mpl_data_dir = matplotlib.get_data_path()
datas = [
    (mpl_data_dir, "matplotlib/mpl-data"),
]

2、執行完畢之後,會生成幾個資料夾,如下圖所示。

點進去就看到了exe,點選執行

OK!

3、預設打包圖片,如下圖所示。

加上 -i 引數之後,如下圖所示,會形成一個類似風力發電機的logo圖案。

ps:程式路徑最好全部都是英文,否則肯能會出現莫名其妙的問題

總結命令

  • Pyinstaller -F setup.py 打包exe
  • Pyinstaller -F -w setup.py 不帶控制檯的打包
  • Pyinstaller -F -i xx.ico setup.py 打包指定exe圖示打包

平常我們只需要這三個就好了,足夠滿足所有需求了。

總結

到此這篇關於如何使用pyinstaller打包多個和單個python檔案的文章就介紹到這了,更多相關pyinstaller打包python檔案內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com