1. 程式人生 > >使用pyinstaller打包Python應用程式

使用pyinstaller打包Python應用程式

  最近根據公司業務,做了一個python的工具,在自己的環境下直接執行.py檔案就可以執行起來。但是我們後面需要在一個筆記本上使用該工具,為了保證程式拷貝過去直接就可以用,我們就需要對該工具進行打包,將其依賴的python庫、第三方庫等打包在一起,並生成可執行的exe檔案。經過半天的琢磨和處理,成功生成exe打包檔案。這裡就總結下自己在打包過程。

  我主要使用的是pyinstaller工具進行打包的,如下是使用該工具進行打包的步驟以及注意事項。

一. 準備工作

  1. 下載pyinstaller,windows下啟動cmd命令,輸入:

pip install pyinstaller

或者

pip3 install pyinstaller

  2. 升級需要更新的第三方庫:

pip list --outdated

如上列出需要升級的包,然後依次進行升級:

pip install --upgrade ***

  3. 如果你有自己定義的第三方.pyd的庫,然後你的.pyd的庫又依賴其他dll的庫,那麼我們需要將這些依賴的庫找出來,放到引用目錄下,pyinstaller打包的時候會自動將其打包進去。
   那麼如何知道自己寫.pyd的庫依賴哪些庫呢,這裡推薦使用depends工具來檢測你的.pyd依賴哪些dll檔案,然後將其拷貝到你的工程目錄中。
  4. 檢查你的工程中是否存在與python同名的目錄或檔案。如果有,則需要修改為其他名字,這裡一定要確保你的工程中沒有與python官方同名的目錄或檔案,否則打包會不成功。例如:我之前有一個目錄名叫platform,這個名字與官方的python目錄名字衝突,導致不能打包成功。

二. 安裝

   準備好後就可以進行安裝了,安裝命令如下:
進入到你的程式入口的檔案目錄下,如:D:\project\maininstaller.py

或者

   執行結束後,如果有出錯的情況,一般會提示你出錯的內容,根據錯誤情況進行修改,一般是缺少某個模組或者第三方庫,這些都可以通過pip install 下載下來。成功後,有兩個檔案生成,分別是build和dist,build是快取檔案,可以刪除掉。dist中就是打包的結果,在該目錄下有生成的exe檔案,以及exe檔案所依賴的庫檔案 。

三. 測試

  這裡測試的時候,建議將dist程式包拷貝到另一個電腦上,進行測試。這樣可以不依賴你本機的環境,保證測試包的是綠色純淨版本。
  測試過程中,最好通過cmd命令列啟動你的exe檔案,如:

.\maininstaller.exe

  這樣如果執行不成功,錯誤日誌也會打印出來,可以便於我們進行分析,一般如果執行失敗,可能還是缺少某個依賴庫,所以這個時候需要在本機上找相關的依賴庫。
  pyinstaller的一些其他命令,可以使用 pyinstaller -h 來進行檢視。