1. 程式人生 > >python將GUI專案打包成exe檔案

python將GUI專案打包成exe檔案

此專案分為兩步:

  1. GUI編寫程式
  2. pyinstaller打包軟體

所用到的第三方庫:

  • tkinter
  • pyinstaller

具體實現

1. GUI介面
本次主要講解如何打包,所以在此只是設計一個十分簡單GUI介面本次主要講解如何打包,所以在此只是設計一個十分簡單GUI介面
程式碼如下

from tkinter import Label
widget=Label(None,text="This is my first GUI!!")
widget.pack()
widget.mainloop()  

2. 程式打包

  1. 首先一個程式都有該程式的圖示,所以要想讓自己的程式擁有更加亮眼的圖示的話,可以自己通過PS或者作圖軟體設計自己的圖示,然後通過網站http://www.bitbug.net/將自己設計的圖示改換成ico格式。該網站是可以將jpg、png、gif等影象檔案轉換為ico檔案。當然,本人在這裡還給大家推薦一個更省時省力的辦法,那就是直接使用別人已經設計好的ico圖示。具體怎麼操作呢,可以去http://www.iconpng.com下載。
  2. 圖示解決了,程式程式碼編寫好了,接下來就是最最重要的軟體打包環節了。
    在此,我們用pyinstaller打包,這是一個用於pythonGUI打包軟體的第三方庫。
    具體操作命令如下:1,安裝pyinstaller
    pip install pyinstaller (如果安裝失敗,用管理員許可權安裝)

2,打包程式

1,安裝pyinstaller
    pip install pyinstaller (如果安裝失敗,用管理員許可權安裝)
    
2,打包程式
    (1)將ico圖片、和程式碼同一資料夾
    (2)Win+R,cmd進入管理員介面 cd切換到程式碼目錄
    (3)輸入命令pyinstaller -F -w -i F:\code\image.ico demo.py
        -F 表示打包(F 大寫)
        -w 取消控制檯顯示(w 小寫)
        -i 有錯誤也繼續執行(i 小寫)
        ico圖片路徑(絕對路徑)
        最後是程式碼名稱
    (4
)如果程式裡面有圖片,需要將圖片複製到exe檔案同一級資料夾,否則程式無法正常執行 注意: 檔案路徑千萬不要有中文,否則會出現一些編碼方面的錯誤。

打包完成後的檔案結構
在這裡插入圖片描述
這是我們想要的exe檔案就在dist目錄裡。

進入dist目錄,點選exe檔案執行我們生成的程式,可能會出現如下錯誤:
在這裡插入圖片描述
不要慌張,這個錯誤的原因在於pyinstaller找不到PyQt庫,如果是通過網上封裝好的pyqt安裝程式包安裝的,則不會出現這個問題,而我們是通過pip安裝的,沒有將pyqt的路徑加入環境變數。解決辦法是在打包命令中加入paths引數:pyinstaller --paths C:Users…Python35-32/Lib/site-packages/PyQt5/Qt/bin -F -w --icon=roman.ico ‘mainform.py’ 或者設定下環境變數。這時,再看下生成的exe:
安裝pyQt推薦的教程裡完全可以解決上述問題。
另外在執行exe程式是,隨著GUI介面的出現,也會出現DOS介面,這顯然是我們不想看到的,怎麼解決呢,這需要在你打包的命令最後加上–noconsole(會英語的不用我多說了吧)詳細結局方案見如下教程pyinstaller打包後的exe執行怎麼去掉彈出的dos視窗