iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 25
1
自我挑戰組

原來電腦可以這樣用!? 果蠅也懂的程式語言教學系列 第 25

Day25-Python程式包裝成 EXE 執行檔

Python 為一種腳本直譯語言,也就是說需要直譯器的協助才能轉換程式語言,可是不是每個人電腦上都會安裝 Python 呀,想必大家開發到現在也會有這樣的感覺吧,該怎麼分享自己寫的程式呢? 今天來介紹如何利用 pyinstaller 將 .py file 轉換成 windows 常用的 .exe,供大家直接點擊就可以執行。


平均動脈壓計算程式 MAP.py

我們用一個簡單的程式來做封裝範例,就用個平均動脈壓計算機吧~

sp = int(input("請輸入收縮壓:"))
dp = int(input("請輸入舒張壓:"))

MAP = (sp + (2 * dp)) / 3

if(MAP>=70 and MAP <=120):
    print("平均動脈壓為",MAP,"mmHg")
    print("為正常範圍")
else:
    print("平均動脈壓為",MAP,"mmHg")
    print("此數值須注意")

建立虛擬環境與安裝 pyinstaller

pipenv --python 3.7
pipenv shell
pipenv install pyinstaller

pyinstall 常用參數介紹

這邊列出一些 pyinstaller 常用的參數,基本上小程式用到這些就夠了。

  • -F 包裝成單一檔案
  • -D 包裝成相依性資料夾
  • -c 僅使用命令列,不開啟視窗
  • -w 僅使用使用者圖形介面,不開啟命令列
  • --icon=PATH 設定 icon

開始封裝

常用參數了解後我們就直接開始封裝吧,平均動脈壓計算機需要包裝成單一檔案,以命令列執行,且指定 icon 為 heart.ico,那麼包裝指令就是這樣:

pyinstaller -F MAP.py -c --icon=heart.ico

一執行完他就會自動開始包裝 EXE 檔,等他一下就會完成囉~ 會生成一些資料夾跟檔案,而我們的執行檔被存在 dist 資料夾中。
https://ithelp.ithome.com.tw/upload/images/20191011/20120282icTkTP5PEw.png

https://ithelp.ithome.com.tw/upload/images/20191011/20120282VDCosGEaEO.png

從此以後只要那個 EXE 就可以在 windows x64 電腦上執行,不需要額外安裝 Python 與 Pyinstaller,對於程式的發表相當方便,軟體執行結果也展示一下。
https://ithelp.ithome.com.tw/upload/images/20191011/20120282FrEWt6uCEh.png


pyinstaller 用起來相當方便,但在需要 import 大量函式庫的大型程式就比較麻煩,會有許多額外的參數設定要做,詳細可以參考官方文檔,因為暫時你們應該還用不到,所以也就不寫出來轟炸大家的腦啦~ 有需要的話再查,或是可以留言問我~


參考資料
https://icon-icons.com/download/76232/ICO/128/
https://pythonhosted.org/PyInstaller/
https://pypi.org/project/PyInstaller/
https://pythonhosted.org/PyInstaller/
https://medium.com/@sean22492249/pyinstaller-%E7%B0%A1%E6%98%93%E4%BB%8B%E7%B4%B9%E8%88%87%E6%93%8D%E4%BD%9C-1dc69d07836


上一篇
Day24-Python 影像處理套件 PIL
下一篇
Day26-聽過 OCR 嗎? 實作看看吧 -- pytesseract
系列文
原來電腦可以這樣用!? 果蠅也懂的程式語言教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言