python將GUI專案打包成exe檔案
阿新 • • 發佈:2018-11-22
此專案分為兩步:
- GUI編寫程式
- 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. 程式打包
- 首先一個程式都有該程式的圖示,所以要想讓自己的程式擁有更加亮眼的圖示的話,可以自己通過PS或者作圖軟體設計自己的圖示,然後通過網站http://www.bitbug.net/將自己設計的圖示改換成ico格式。該網站是可以將jpg、png、gif等影象檔案轉換為ico檔案。當然,本人在這裡還給大家推薦一個更省時省力的辦法,那就是直接使用別人已經設計好的ico圖示。具體怎麼操作呢,可以去http://www.iconpng.com下載。
- 圖示解決了,程式程式碼編寫好了,接下來就是最最重要的軟體打包環節了。
在此,我們用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視窗