看完這篇文章你會得到的成果圖
因為 PyQt5 要學的東西太多,
我們先來學打包 python 好了,(逃避要學東西太多的現實)
這樣就可以把每天的學習成果分享給親朋好友囉!
打包的重點就在於,我們只要打包後,這個程式會變成單一執行檔,
而且可以橫跨「windows, mac, ubuntu」的「同作業系統電腦」使用,
還不用特別安裝「python」也能執行哦!
(想想你之前下載遊戲的時候,有特別還要去安裝什麼程式語言嗎XD)
- 更新:這邊我一開始有點誤會了,打包後的程式是在「同OS上能夠直接執行,不能夠跨作業系統」。
也就是說如果是同樣 windows 的電腦,我包好之後可以直接給另外一台 windows 的電腦使用,
mac 電腦對 mac 電腦也是,以此類推。 至於「跨作業系統」自然是不行的,會需要至少一台該作業系統的電腦重包
(可以想像一般我們安裝軟體的時候,都會有很多作業系統的版本要你選,因為不同作業系統運作程式的邏輯不同,需要依照該作業系統的運作邏輯將程式打包起來。)
安裝 pyinstaller
老樣子的一行解決 (我想大家應該也都很習慣了(吧)…?)
pip install pyinstaller
補充 – anaconda 安裝 pyinstaller 的方法 (感謝網友:steven yang 補充)
如果使用 pip 安裝 pyinstaller 會出現以下問題:
無法辨識’pyinstaller’ 詞彙是否為Cmdlet、函數、指令檔或可執行程式的名稱) 的報錯。
這時如果有搭配 anaconda 的環境使用,可以採取在 anaconda terminal 輸入的以下方法:
conda install -c conda-forge pyinstaller
有些東西在 anaconda 上用 pip 會不能運作… ( <- 我自己也踩過很多次這個坑XDD )
感謝網友:steven yang 幫忙補充 ^ ^
來打包昨天的程式碼吧!
昨天我們完成的 UI.py,
我們可以直接在終端機輸入
pyinstaller -F UI.py
結果
打包的過程,會稍微需要等一下,
中途會跳出一堆東西,可以順便看看有沒有錯誤。
最後等待程式跑完後,我們去同一個資料夾底下的 dist,裡面會看到一份「UI.exe」 。
我們打開來試試看吧!
看起來就跟昨天的結果一模一樣呢!!!
(請忽略上面的顏色XD,只是心情好剛好去改 windows 配色,那顏色不是用 Qt 做的XD)
小結
這份「UI.exe」我們就可以拿來分享給全世界你的親朋好友囉!
只要是有「同作業系統 (windows, mac, ubuntu)」的電腦,不用特別安裝環境應該都能夠打開!