作者:木子-李 行走在數據分析路上的小白
Python愛好者社區專欄作者
知乎ID:https://www.zhihu.com/people/Muzi.Li
本文環境配置:系統=>windows10:64位
語言=>Python:3.7.1
第三方庫
pywin32:224
PyInstaller:3.4
PyQT5:5.11.3
工具=>PyCharm:2018.3.1
1、安裝Python官網下載對應系統位數的版本:
https://www.python.org/
使用pip命令安裝第三方庫:
pip install pywin32
pip install PyInstaller
pip install PyQT5
2、安裝PyCharm
https://www.jetbrains.com/pycharm/
首先編寫需要轉換exe的Python代碼,使用PyQT5做一個簡單的GUI
創建一個窗體
import sysfrom 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)
定義兩個槽函數,功能是修改標籤上的內容
# 槽函數1def btn_Old(): label.setText('測試顯示')# 槽函數2def btn_New(): label.setText('點我幹啥')
在窗體上添加兩個按鈕,並連結槽函數
# 按鈕1btn1 = QPushButton(window)btn1.setText('恢復顯示')btn1.move(200, 200)btn1.clicked.connect(btn_Old)
# 信號與槽# 按鈕2btn1 = QPushButton(window)btn1.setText('修改顯示')btn1.move(300, 200)btn1.clicked.connect(btn_New)
# 信號與槽
一個簡單的GUI搞定,完整代碼如下,代碼並未做優化,只是測試用。文件名稱定義為test.py
打開命令窗口,切換到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
Python的愛好者社區歷史文章大合集:
Python的愛好者社區歷史文章列表
福利:文末掃碼關注公眾號,「Python愛好者社區」,開始學習Python課程:
關注後在公眾號內回復「 課程 」即可獲取:
小編的轉行入職數據科學(數據分析挖掘/機器學習方向)【最新免費】
小編的Python的入門免費視頻課程!
小編的Python的快速上手matplotlib可視化庫!
崔老師爬蟲實戰案例免費學習視頻。
陳老師數據分析報告擴展製作免費學習視頻。
玩轉大數據分析!Spark2.X + Python精華實戰課程免費學習視頻。