Python3指令碼在Windows10下生成單個EXE檔案!
本文環境配置:
系統=>windows10:64位
語言=>Python:3.7.1
第三方庫 pywin32:224 PyInstaller:3.4 PyQT5:5.11.3
工具=>PyCharm:2018.3.1
1、安裝Python
官網下載對應系統位數的版本:
使用pip命令安裝第三方庫:
pip install pywin32 pip install PyInstaller pip install PyQT5
2、安裝PyCharm
首先編寫需要轉換exe的Python程式碼,使用PyQT5做一個簡單的GUI
建立一個窗體
import sys from PyQt5.Qt import * app = QApplication(sys.argv) # 例項物件 # 窗體大小 window = QWidget() window.resize(500, 500) window.setWindowTitle('測試') window.move(400, 200) # 顯示窗體 window.show() sys.exit(app.exec_())
在窗體上新增一個標籤
# 標籤 label = QLabel(window) label.setText('測試顯示') label.move(250, 100)
定義兩個槽函式,功能是修改標籤上的內容
# 槽函式1 def btn_Old(): label.setText('測試顯示') # 槽函式2 def btn_New(): label.setText('點我幹啥')
在窗體上新增兩個按鈕,並連結槽函式
# 按鈕1 btn1 = QPushButton(window) btn1.setText('恢復顯示') btn1.move(200, 200) btn1.clicked.connect(btn_Old) # 訊號與槽 # 按鈕2 btn1 = QPushButton(window) btn1.setText('修改顯示') btn1.move(300, 200) btn1.clicked.connect(btn_New) # 訊號與槽
一個簡單的GUI搞定,完整程式碼如下,程式碼並未做優化,只是測試用。檔名稱定義為test.py
轉換EXE
開啟命令視窗,切換到test.py檔案的路徑下
輸入命令
pyinstaller -F -w test.py
開始執行程式碼,執行完成之後,在text.py檔案的目錄下有一個dist資料夾, 裡面就有生成的EXE檔案
搞定,直接雙擊執行編寫好的GUI程式。
PyInstaller部分引數的含義
-F 表示生成單個可執行檔案
-w 表示去掉控制檯視窗,這在GUI介面時非常有用。不過如果是命令列程式的話那就把這個選項刪除吧!
-i 表示可執行檔案的圖示
PyInstaller注意點
1、有一些程式碼需要呼叫一些圖片和資原始檔的,這是不會自動匯入的,需要你自己手動複製進去才行。不然exe檔案執行時命令視窗會報錯找不到這個檔案。
2、當你使用錯誤的引數去打包或者打包到一半中斷,等等此類執行到一半沒了的情況。會導致你原來的py檔案變成一個0KB的空檔案。裡面的程式碼會全部消失!!!所以以後需要有個良好的習慣,就是複製一份程式碼出來,用這個副本進行打包。並且引數出錯,或者打錯了導致失敗時,檢查下副本檔案的py檔案是否還存在再繼續重新打包,不然打出來的就是空的檔案,自然一直閃退,因為壓根沒內容。
3、寫程式碼的時候應當有個良好的習慣,用什麼函式導什麼函式,不要上來import整個庫,最後你會發現你一個100KB的程式碼打包出來有500MB,全是庫,簡直無語
從今往後,專心Python